Have seen some very ridiculous lengths causing data read errors
case pp.Have:
err = c.peerSentHave(int(msg.Index))
case pp.Request:
+ requestedChunkLengths.Add(strconv.FormatUint(msg.Length.Uint64(), 10), 1)
if c.Choked {
break
}
postedKeepalives = expvar.NewInt("postedKeepalives")
// Requests received for pieces we don't have.
requestsReceivedForMissingPieces = expvar.NewInt("requestsReceivedForMissingPieces")
+ requestedChunkLengths = expvar.NewMap("requestedChunkLengths")
messageTypesReceived = expvar.NewMap("messageTypesReceived")
messageTypesSent = expvar.NewMap("messageTypesSent")
return int(i)
}
+func (i Integer) Uint64() uint64 {
+ return uint64(i)
+}
+
const (
Protocol = "\x13BitTorrent protocol"
)