aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/peer_error.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2017-02-24 16:58:04 +0800
committerFelix Lange <fjl@twurst.com>2017-02-28 17:20:29 +0800
commit96ae35e2ac8c360781407d7294081aabdcbb3652 (patch)
tree378cc7aae99127a4e85a721e5cd319ced87e103a /p2p/peer_error.go
parent35e8308bf76df11c3c1e8d11fac782814583ea5c (diff)
downloaddexon-96ae35e2ac8c360781407d7294081aabdcbb3652.tar.gz
dexon-96ae35e2ac8c360781407d7294081aabdcbb3652.tar.zst
dexon-96ae35e2ac8c360781407d7294081aabdcbb3652.zip
p2p, p2p/discover, p2p/nat: rework logging using context keys
Diffstat (limited to 'p2p/peer_error.go')
-rw-r--r--p2p/peer_error.go34
1 files changed, 20 insertions, 14 deletions
diff --git a/p2p/peer_error.go b/p2p/peer_error.go
index 62c7b665d..a1cddb707 100644
--- a/p2p/peer_error.go
+++ b/p2p/peer_error.go
@@ -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 {