From: Matt Joiner Date: Tue, 11 May 2021 02:09:26 +0000 (+1000) Subject: Track peers supporting extension in a nested expvar.Map X-Git-Tag: v1.28.0~12 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ee572c5822971452f6e1a27e998bf7a66f01e12c;p=btrtrc.git Track peers supporting extension in a nested expvar.Map --- diff --git a/global.go b/global.go index 6542ac39..ff237c8e 100644 --- a/global.go +++ b/global.go @@ -24,10 +24,15 @@ func defaultPeerExtensionBytes() PeerExtensionBits { return pp.NewPeerExtensionBytes(pp.ExtensionBitDHT, pp.ExtensionBitExtended, pp.ExtensionBitFast) } +func init() { + torrent.Set("peers supporting extension", &peersSupportingExtension) +} + // I could move a lot of these counters to their own file, but I suspect they // may be attached to a Client someday. var ( - torrent = expvar.NewMap("torrent") + torrent = expvar.NewMap("torrent") + peersSupportingExtension expvar.Map pieceHashedCorrect = expvar.NewInt("pieceHashedCorrect") pieceHashedNotCorrect = expvar.NewInt("pieceHashedNotCorrect") diff --git a/peerconn.go b/peerconn.go index 535ba737..41e8662d 100644 --- a/peerconn.go +++ b/peerconn.go @@ -1308,7 +1308,7 @@ func (c *PeerConn) onReadExtendedMsg(id pp.ExtensionNumber, payload []byte) (err c.PeerPrefersEncryption = d.Encryption for name, id := range d.M { if _, ok := c.PeerExtensionIDs[name]; !ok { - torrent.Add(fmt.Sprintf("peers supporting extension %q", name), 1) + peersSupportingExtension.Add(string(name), 1) } c.PeerExtensionIDs[name] = id }