From ee572c5822971452f6e1a27e998bf7a66f01e12c Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 11 May 2021 12:09:26 +1000 Subject: [PATCH] Track peers supporting extension in a nested expvar.Map --- global.go | 7 ++++++- peerconn.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) 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 } -- 2.48.1