p2p, p2p/discover, p2p/nat: rework logging using context keys
This commit is contained in:
@ -17,6 +17,7 @@
|
||||
package p2p
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
@ -51,6 +52,8 @@ func (self *peerError) Error() string {
|
||||
return self.message
|
||||
}
|
||||
|
||||
var errProtocolReturned = errors.New("protocol returned")
|
||||
|
||||
type DiscReason uint
|
||||
|
||||
const (
|
||||
@ -70,24 +73,24 @@ const (
|
||||
)
|
||||
|
||||
var discReasonToString = [...]string{
|
||||
DiscRequested: "Disconnect requested",
|
||||
DiscNetworkError: "Network error",
|
||||
DiscProtocolError: "Breach of protocol",
|
||||
DiscUselessPeer: "Useless peer",
|
||||
DiscTooManyPeers: "Too many peers",
|
||||
DiscAlreadyConnected: "Already connected",
|
||||
DiscIncompatibleVersion: "Incompatible P2P protocol version",
|
||||
DiscInvalidIdentity: "Invalid node identity",
|
||||
DiscQuitting: "Client quitting",
|
||||
DiscUnexpectedIdentity: "Unexpected identity",
|
||||
DiscSelf: "Connected to self",
|
||||
DiscReadTimeout: "Read timeout",
|
||||
DiscSubprotocolError: "Subprotocol error",
|
||||
DiscRequested: "disconnect requested",
|
||||
DiscNetworkError: "network error",
|
||||
DiscProtocolError: "breach of protocol",
|
||||
DiscUselessPeer: "useless peer",
|
||||
DiscTooManyPeers: "too many peers",
|
||||
DiscAlreadyConnected: "already connected",
|
||||
DiscIncompatibleVersion: "incompatible p2p protocol version",
|
||||
DiscInvalidIdentity: "invalid node identity",
|
||||
DiscQuitting: "client quitting",
|
||||
DiscUnexpectedIdentity: "unexpected identity",
|
||||
DiscSelf: "connected to self",
|
||||
DiscReadTimeout: "read timeout",
|
||||
DiscSubprotocolError: "subprotocol error",
|
||||
}
|
||||
|
||||
func (d DiscReason) String() string {
|
||||
if len(discReasonToString) < int(d) {
|
||||
return fmt.Sprintf("Unknown Reason(%d)", d)
|
||||
return fmt.Sprintf("unknown disconnect reason %d", d)
|
||||
}
|
||||
return discReasonToString[d]
|
||||
}
|
||||
@ -100,6 +103,9 @@ func discReasonForError(err error) DiscReason {
|
||||
if reason, ok := err.(DiscReason); ok {
|
||||
return reason
|
||||
}
|
||||
if err == errProtocolReturned {
|
||||
return DiscQuitting
|
||||
}
|
||||
peerError, ok := err.(*peerError)
|
||||
if ok {
|
||||
switch peerError.code {
|
||||
|
Reference in New Issue
Block a user