diff --git a/mempool/v0/reactor.go b/mempool/v0/reactor.go index 5d5149938..208fd1709 100644 --- a/mempool/v0/reactor.go +++ b/mempool/v0/reactor.go @@ -5,6 +5,8 @@ import ( "fmt" "time" + "github.com/cosmos/gogoproto/proto" + cfg "github.com/tendermint/tendermint/config" "github.com/tendermint/tendermint/libs/clist" "github.com/tendermint/tendermint/libs/log" @@ -188,6 +190,23 @@ func (memR *Reactor) NewReceive(e p2p.Envelope) { // broadcasting happens from go routines per peer } +func (memR *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) { + var msg *protomem.Message + err := proto.Unmarshal(msgBytes, msg) + if err != nil { + panic(err) + } + uw, err := msg.Unwrap() + if err != nil { + panic(err) + } + memR.NewReceive(p2p.Envelope{ + ChannelID: chID, + Src: peer, + Message: uw, + }) +} + // PeerState describes the state of a peer. type PeerState interface { GetHeight() int64