]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix the tracker method receivers and names
authorMatt Joiner <anacrolix@gmail.com>
Thu, 19 May 2016 13:58:00 +0000 (23:58 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 19 May 2016 13:58:00 +0000 (23:58 +1000)
client.go
torrent.go

index ab7583a1299fbf546f1e1248e1a765be4aca3e49..33d6865b7407448e726f0cccbea553979d840cfe 100644 (file)
--- a/client.go
+++ b/client.go
@@ -1528,7 +1528,7 @@ func (cl *Client) AddTorrentInfoHash(infoHash metainfo.Hash) (t *Torrent, new bo
        new = true
        t = cl.newTorrent(infoHash)
        if !cl.config.DisableTrackers {
-               go cl.announceTorrentTrackers(t)
+               go t.announceTrackers()
        }
        if cl.dHT != nil {
                go cl.announceTorrentDHT(t, true)
index 124753bd751488ac5703c68beb1b1ed7bdd82da6..ec3624546d78a0e75f70892c5121aa98d9a34639 100644 (file)
@@ -1138,7 +1138,8 @@ func (t *Torrent) seeding() bool {
 }
 
 // Announce torrent to its trackers.
-func (cl *Client) announceTorrentTrackers(t *Torrent) {
+func (t *Torrent) announceTrackers() {
+       cl := t.cl
        req := tracker.AnnounceRequest{
                Event:    tracker.Started,
                NumWant:  -1,
@@ -1153,7 +1154,7 @@ func (cl *Client) announceTorrentTrackers(t *Torrent) {
        req.Left = t.bytesLeftAnnounce()
        trackers := t.trackers
        cl.mu.RUnlock()
-       if cl.announceTorrentTrackersFastStart(&req, trackers, t) {
+       if t.announceTrackersFastStart(&req, trackers) {
                req.Event = tracker.None
        }
 newAnnounce:
@@ -1166,7 +1167,7 @@ newAnnounce:
                for _, tier := range trackers {
                        for trIndex, tr := range tier {
                                numTrackersTried++
-                               interval, err := cl.announceTorrentSingleTracker(tr, &req, t)
+                               interval, err := t.announceSingleTracker(tr, &req)
                                if err != nil {
                                        // Try the next tracker.
                                        continue
@@ -1192,14 +1193,14 @@ newAnnounce:
        }
 }
 
-func (cl *Client) announceTorrentTrackersFastStart(req *tracker.AnnounceRequest, trackers []trackerTier, t *Torrent) (atLeastOne bool) {
+func (t *Torrent) announceTrackersFastStart(req *tracker.AnnounceRequest, trackers []trackerTier) (atLeastOne bool) {
        oks := make(chan bool)
        outstanding := 0
        for _, tier := range trackers {
                for _, tr := range tier {
                        outstanding++
                        go func(tr string) {
-                               _, err := cl.announceTorrentSingleTracker(tr, req, t)
+                               _, err := t.announceSingleTracker(tr, req)
                                oks <- err == nil
                        }(tr)
                }
@@ -1214,8 +1215,8 @@ func (cl *Client) announceTorrentTrackersFastStart(req *tracker.AnnounceRequest,
        return
 }
 
-func (cl *Client) announceTorrentSingleTracker(tr string, req *tracker.AnnounceRequest, t *Torrent) (interval time.Duration, err error) {
-       blocked, err := cl.trackerBlockedUnlocked(tr)
+func (t *Torrent) announceSingleTracker(tr string, req *tracker.AnnounceRequest) (interval time.Duration, err error) {
+       blocked, err := t.cl.trackerBlockedUnlocked(tr)
        if err != nil {
                err = fmt.Errorf("error determining if tracker blocked: %s", err)
                return