p2p, p2p/discover, p2p/nat: rework logging using context keys

This commit is contained in:
Felix Lange
2017-02-24 09:58:04 +01:00
parent 35e8308bf7
commit 96ae35e2ac
11 changed files with 171 additions and 151 deletions

View File

@ -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 {