]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Rework tracker status lines
authorMatt Joiner <anacrolix@gmail.com>
Mon, 27 Apr 2020 23:13:44 +0000 (09:13 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Mon, 27 Apr 2020 23:13:44 +0000 (09:13 +1000)
torrent.go
tracker_scraper.go
wstracker.go

index 0117094a06b0c49867d7e8b23ff33224f69ea1a5..b4d1764807b473c1d098c6e386d8c12e02f93f82 100644 (file)
@@ -603,11 +603,11 @@ func (t *Torrent) writeStatus(w io.Writer) {
        fmt.Fprintf(w, "Enabled trackers:\n")
        func() {
                tw := tabwriter.NewWriter(w, 0, 0, 2, ' ', 0)
-               fmt.Fprintf(tw, "    URL\tNext announce\tLast announce\n")
+               fmt.Fprintf(tw, "    URL\tExtra\n")
                for _, ta := range slices.Sort(slices.FromMapElems(t.trackerAnnouncers), func(l, r torrentTrackerAnnouncer) bool {
                        lu := l.URL()
                        ru := r.URL()
-                       var luns, runs url.URL = lu, ru
+                       var luns, runs url.URL = *lu, *ru
                        luns.Scheme = ""
                        runs.Scheme = ""
                        var ml missinggo.MultiLess
@@ -615,7 +615,7 @@ func (t *Torrent) writeStatus(w io.Writer) {
                        ml.StrictNext(lu.String() == ru.String(), lu.String() < ru.String())
                        return ml.Less()
                }).([]torrentTrackerAnnouncer) {
-                       fmt.Fprintf(tw, "    %s\n", ta.statusLine())
+                       fmt.Fprintf(tw, "    %q\t%v\n", ta.URL(), ta.statusLine())
                }
                tw.Flush()
        }()
index ae82da5c0366ba2b9c84604c107ced73b6bfbf2d..a7d3041cfe7c37b9fafaa4537afc07cf1926ae63 100644 (file)
@@ -24,17 +24,16 @@ type trackerScraper struct {
 
 type torrentTrackerAnnouncer interface {
        statusLine() string
-       URL() url.URL
+       URL() *url.URL
 }
 
-func (me trackerScraper) URL() url.URL {
-       return me.u
+func (me trackerScraper) URL() *url.URL {
+       return &me.u
 }
 
 func (ts *trackerScraper) statusLine() string {
        var w bytes.Buffer
-       fmt.Fprintf(&w, "%q\t%s\t%s",
-               ts.u.String(),
+       fmt.Fprintf(&w, "next ann: %v, last ann: %v",
                func() string {
                        na := time.Until(ts.lastAnnounce.Completed.Add(ts.lastAnnounce.Interval))
                        if na > 0 {
index 6f376c55e5aa3a805354f9fc9e73cfd492cecfe0..8c71e514d067af12ca8a8e7a826e7d635316f045 100644 (file)
@@ -18,11 +18,11 @@ type websocketTrackerStatus struct {
 }
 
 func (me websocketTrackerStatus) statusLine() string {
-       return fmt.Sprintf("%q: %+v", me.tc.Url, me.tc.Stats())
+       return fmt.Sprintf("%+v", me.tc.Stats())
 }
 
-func (me websocketTrackerStatus) URL() url.URL {
-       return me.url
+func (me websocketTrackerStatus) URL() *url.URL {
+       return &me.url
 }
 
 type refCountedWebtorrentTrackerClient struct {