From cfe2ca68da2a223363256de01035d5c6a95381f7 Mon Sep 17 00:00:00 2001 From: William Banfield Date: Wed, 19 Oct 2022 14:07:01 -0400 Subject: [PATCH] consensus test passed --- blocksync/msgs.go | 20 ++++---------------- blocksync/reactor.go | 13 +++++++++---- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/blocksync/msgs.go b/blocksync/msgs.go index cc72e7a10..2d1792fe5 100644 --- a/blocksync/msgs.go +++ b/blocksync/msgs.go @@ -21,24 +21,12 @@ const ( // EncodeMsg encodes a Protobuf message func EncodeMsg(pb proto.Message) ([]byte, error) { - msg := bcproto.Message{} - - switch pb := pb.(type) { - case *bcproto.BlockRequest: - msg.Sum = &bcproto.Message_BlockRequest{BlockRequest: pb} - case *bcproto.BlockResponse: - msg.Sum = &bcproto.Message_BlockResponse{BlockResponse: pb} - case *bcproto.NoBlockResponse: - msg.Sum = &bcproto.Message_NoBlockResponse{NoBlockResponse: pb} - case *bcproto.StatusRequest: - msg.Sum = &bcproto.Message_StatusRequest{StatusRequest: pb} - case *bcproto.StatusResponse: - msg.Sum = &bcproto.Message_StatusResponse{StatusResponse: pb} - default: - return nil, fmt.Errorf("unknown message type %T", pb) + msg, err := toWrappedMessage(pb) + if err != nil { + return nil, err } - bz, err := proto.Marshal(&msg) + bz, err := proto.Marshal(msg) if err != nil { return nil, fmt.Errorf("unable to marshal %T: %w", pb, err) } diff --git a/blocksync/reactor.go b/blocksync/reactor.go index f3ca9a140..b163afd0e 100644 --- a/blocksync/reactor.go +++ b/blocksync/reactor.go @@ -149,12 +149,17 @@ func (bcR *Reactor) GetChannels() []*p2p.ChannelDescriptor { // AddPeer implements Reactor by sending our state to peer. func (bcR *Reactor) AddPeer(peer p2p.Peer) { + msg, err := toWrappedMessage(&bcproto.StatusResponse{ + Base: bcR.store.Base(), + Height: bcR.store.Height(), + }) + if err != nil { + bcR.Logger.Error("could not convert msg to proto", "err", err) + return + } e := p2p.Envelope{ ChannelID: BlocksyncChannel, - Message: &bcproto.StatusResponse{ - Base: bcR.store.Base(), - Height: bcR.store.Height(), - }, + Message: msg, } peer.Send(e) // it's OK if send fails. will try later in poolRoutine