From 4b8c03b129f472b088d77e6b4602d7ca9f97a875 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Mon, 7 Mar 2022 18:25:45 +0100 Subject: [PATCH] p2p: define DiscReason as uint8 (#24507) All other implementations store disconnect reasons as a single byte, so go-ethereum should do it too. --- p2p/peer.go | 6 +++--- p2p/peer_error.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/p2p/peer.go b/p2p/peer.go index 7b9e4d5940..5e6ef0732e 100644 --- a/p2p/peer.go +++ b/p2p/peer.go @@ -337,11 +337,11 @@ func (p *Peer) handle(msg Msg) error { SendItems(p.rw, pongMsg) }) case msg.Code == discMsg: - var reason [1]DiscReason // This is the last message. We don't need to discard or // check errors because, the connection will be closed after it. - rlp.Decode(msg.Payload, &reason) - return reason[0] + var m struct{ R DiscReason } + rlp.Decode(msg.Payload, &m) + return m.R case msg.Code < baseProtocolLength: // ignore other base protocol messages return msg.Discard() diff --git a/p2p/peer_error.go b/p2p/peer_error.go index ab61bfef06..b0130515d3 100644 --- a/p2p/peer_error.go +++ b/p2p/peer_error.go @@ -54,7 +54,7 @@ func (pe *peerError) Error() string { var errProtocolReturned = errors.New("protocol returned") -type DiscReason uint +type DiscReason uint8 const ( DiscRequested DiscReason = iota