aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/peer_error.go
diff options
context:
space:
mode:
authorJeffrey Wilcke <obscuren@users.noreply.github.com>2014-12-15 17:22:35 +0800
committerJeffrey Wilcke <obscuren@users.noreply.github.com>2014-12-15 17:22:35 +0800
commit15e46b97b46864f7f72b932c0fe586ea6d223406 (patch)
tree83b08df50a2978cf518aae1bf70738ecd82ed4be /p2p/peer_error.go
parentccb4fc8d0370afd85ea9ffca635dae7e792dd66d (diff)
parentda900f94358a9b293a286066b0922a6f7b5d571c (diff)
downloadgo-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.tar
go-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.tar.gz
go-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.tar.bz2
go-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.tar.lz
go-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.tar.xz
go-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.tar.zst
go-tangerine-15e46b97b46864f7f72b932c0fe586ea6d223406.zip
Merge pull request #204 from fjl/fix-p2p-disconnect
p2p: fix decoding of disconnect reason
Diffstat (limited to 'p2p/peer_error.go')
-rw-r--r--p2p/peer_error.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/p2p/peer_error.go b/p2p/peer_error.go
index 88b870fbd..0eb7ec838 100644
--- a/p2p/peer_error.go
+++ b/p2p/peer_error.go
@@ -100,7 +100,16 @@ func (d DiscReason) String() string {
return discReasonToString[d]
}
+type discRequestedError DiscReason
+
+func (err discRequestedError) Error() string {
+ return fmt.Sprintf("disconnect requested: %v", DiscReason(err))
+}
+
func discReasonForError(err error) DiscReason {
+ if reason, ok := err.(discRequestedError); ok {
+ return DiscReason(reason)
+ }
peerError, ok := err.(*peerError)
if !ok {
return DiscSubprotocolError