github.com/Oyster-zx/tendermint@v0.34.24-fork/proto/tendermint/mempool/message.go (about) 1 package mempool 2 3 import ( 4 "fmt" 5 6 "github.com/gogo/protobuf/proto" 7 "github.com/tendermint/tendermint/p2p" 8 ) 9 10 var _ p2p.Wrapper = &Txs{} 11 var _ p2p.Unwrapper = &Message{} 12 13 // Wrap implements the p2p Wrapper interface and wraps a mempool message. 14 func (m *Txs) Wrap() proto.Message { 15 mm := &Message{} 16 mm.Sum = &Message_Txs{Txs: m} 17 return mm 18 } 19 20 // Unwrap implements the p2p Wrapper interface and unwraps a wrapped mempool 21 // message. 22 func (m *Message) Unwrap() (proto.Message, error) { 23 switch msg := m.Sum.(type) { 24 case *Message_Txs: 25 return m.GetTxs(), nil 26 27 default: 28 return nil, fmt.Errorf("unknown message: %T", msg) 29 } 30 }