]> Sergey Matveev's repositories - btrtrc.git/blobdiff - handshake.go
Change a bunch of Stringer and status stuff
[btrtrc.git] / handshake.go
index f15f5bbf6377221fd95f22a3b9e08ef1d9027d80..6627b60839c6067fe1ca735033dbc08074e12d94 100644 (file)
@@ -38,6 +38,10 @@ type (
        peerExtensionBytes [8]byte
 )
 
+func (me peerExtensionBytes) String() string {
+       return hex.EncodeToString(me[:])
+}
+
 func newPeerExtensionBytes(bits ...ExtensionBit) (ret peerExtensionBytes) {
        for _, b := range bits {
                ret.SetBit(b)
@@ -124,7 +128,7 @@ func handshake(sock io.ReadWriter, ih *metainfo.Hash, peerID [20]byte, extension
        missinggo.CopyExact(&res.peerExtensionBytes, b[20:28])
        missinggo.CopyExact(&res.Hash, b[28:48])
        missinggo.CopyExact(&res.PeerID, b[48:68])
-       peerExtensions.Add(hex.EncodeToString(res.peerExtensionBytes[:]), 1)
+       peerExtensions.Add(res.peerExtensionBytes.String(), 1)
 
        // TODO: Maybe we can just drop peers here if we're not interested. This
        // could prevent them trying to reconnect, falsely believing there was