log.Print(err)
return
}
- log.Printf("%d new peers from %s", len(peers), "TODO")
+ log.Printf("%s: %d new peers from %s", t, len(peers), tr)
tier[0], tier[trIndex] = tier[trIndex], tier[0]
time.Sleep(time.Second * time.Duration(resp.Interval))
continue newAnnounce
p.EverHashed = true
if correct {
p.PendingChunkSpecs = nil
- log.Printf("got piece %d, (%d/%d)", piece, t.NumPiecesCompleted(), t.NumPieces())
+ log.Printf("%s: got piece %d, (%d/%d)", t, piece, t.NumPiecesCompleted(), t.NumPieces())
var next *list.Element
if t.Priorities != nil {
for e := t.Priorities.Front(); e != nil; e = next {
Trackers [][]tracker.Client
}
+func (t *torrent) String() string {
+ return t.MetaInfo.Name
+}
+
func (t *torrent) NumPieces() int {
return len(t.MetaInfo.Pieces) / pieceHash.Size()
}
url *url.URL
}
+func (c *client) String() string {
+ return c.url.String()
+}
+
func (c *client) Announce(req *tracker.AnnounceRequest) (res tracker.AnnounceResponse, err error) {
if !c.connected() {
err = tracker.ErrNotConnected