From 2d25b896101b81dbfb72146098a3d71027670a34 Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 19 Jun 2022 10:59:23 +0200 Subject: [PATCH] xin-201 skip message while synchronize (#100) --- eth/handler.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/eth/handler.go b/eth/handler.go index f0411bc420..33d59356f8 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -847,6 +847,11 @@ func (pm *ProtocolManager) handleMsg(p *peer) error { pm.lendingpool.AddRemotes(txs) } case msg.Code == VoteMsg: + // VoteMsg arrived, make sure we have a valid and fresh chain to handle them + if atomic.LoadUint32(&pm.acceptTxs) == 0 { + break + } + var vote types.Vote if err := msg.Decode(&vote); err != nil { return errResp(ErrDecode, "msg %v: %v", msg, err) @@ -864,6 +869,11 @@ func (pm *ProtocolManager) handleMsg(p *peer) error { } case msg.Code == TimeoutMsg: + // TimeoutMsg arrived, make sure we have a valid and fresh chain to handle them + if atomic.LoadUint32(&pm.acceptTxs) == 0 { + break + } + var timeout types.Timeout if err := msg.Decode(&timeout); err != nil { return errResp(ErrDecode, "msg %v: %v", msg, err) @@ -883,6 +893,11 @@ func (pm *ProtocolManager) handleMsg(p *peer) error { } case msg.Code == SyncInfoMsg: + // SyncInfoMsg arrived, make sure we have a valid and fresh chain to handle them + if atomic.LoadUint32(&pm.acceptTxs) == 0 { + break + } + var syncInfo types.SyncInfo if err := msg.Decode(&syncInfo); err != nil { return errResp(ErrDecode, "msg %v: %v", msg, err)