add proto message unmarshal to reactors

This commit is contained in:
William Banfield
2022-10-28 17:06:36 -04:00
parent 39b2e4b878
commit 1d20f37810
11 changed files with 77 additions and 8 deletions

View File

@@ -4,6 +4,8 @@ import (
"fmt"
"time"
"github.com/cosmos/gogoproto/proto"
"github.com/tendermint/tendermint/behaviour"
bc "github.com/tendermint/tendermint/blockchain"
"github.com/tendermint/tendermint/libs/log"
@@ -307,9 +309,15 @@ func (bcR *BlockchainReactor) NewReceive(e p2p.Envelope) {
}
func (bcR *BlockchainReactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *bcproto.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
bcR.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -5,6 +5,8 @@ import (
"fmt"
"time"
"github.com/cosmos/gogoproto/proto"
"github.com/tendermint/tendermint/behaviour"
bc "github.com/tendermint/tendermint/blockchain"
"github.com/tendermint/tendermint/libs/log"
@@ -514,9 +516,15 @@ func (r *BlockchainReactor) NewReceive(e p2p.Envelope) {
}
func (r *BlockchainReactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *bcproto.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
r.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -5,6 +5,8 @@ import (
"reflect"
"time"
"github.com/cosmos/gogoproto/proto"
"github.com/tendermint/tendermint/libs/log"
"github.com/tendermint/tendermint/p2p"
bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync"
@@ -233,10 +235,16 @@ func (bcR *Reactor) NewReceive(e p2p.Envelope) {
}
}
func (bcR *BlockchainReactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
func (bcR *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *bcproto.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
bcR.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -7,6 +7,7 @@ import (
"sync"
"time"
"github.com/gogo/protobuf/proto"
cstypes "github.com/tendermint/tendermint/consensus/types"
"github.com/tendermint/tendermint/libs/bits"
tmevents "github.com/tendermint/tendermint/libs/events"
@@ -388,9 +389,15 @@ func (conR *Reactor) NewReceive(e p2p.Envelope) {
}
func (conR *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *tmcons.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
conR.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -93,9 +93,15 @@ func (evR *Reactor) NewReceive(e p2p.Envelope) {
}
func (evR *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *tmproto.EvidenceList
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
evR.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -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,9 +190,15 @@ func (memR *Reactor) NewReceive(e p2p.Envelope) {
}
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)
}
memR.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -22,8 +22,5 @@ func NewReactor() *Reactor {
func (r *Reactor) GetChannels() []*conn.ChannelDescriptor { return r.Channels }
func (r *Reactor) AddPeer(peer p2p.Peer) {}
func (r *Reactor) RemovePeer(peer p2p.Peer, reason interface{}) {}
func (r *Reactor) NewReceive(e p2p.Envelope)
ChannelID: chID,
Src: peer,
{}
func (r *Reactor) NewReceive(e p2p.Envelope) {}
func (r *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {}

View File

@@ -6,6 +6,8 @@ import (
"sync"
"time"
"github.com/cosmos/gogoproto/proto"
"github.com/tendermint/tendermint/libs/cmap"
tmmath "github.com/tendermint/tendermint/libs/math"
tmrand "github.com/tendermint/tendermint/libs/rand"
@@ -299,9 +301,15 @@ func (r *Reactor) NewReceive(e p2p.Envelope) {
}
func (r *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *tmp2p.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
r.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -15,7 +15,6 @@ import (
"time"
"github.com/cosmos/gogoproto/proto"
"github.com/ethereum/go-ethereum/p2p"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -82,10 +81,16 @@ func (tr *TestReactor) NewReceive(e Envelope) {
}
}
func (tr *TestReactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
tr.NewReceive(p2p.Envelope{
func (tr *TestReactor) Receive(chID byte, peer Peer, msgBytes []byte) {
var msg *p2pproto.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
tr.NewReceive(Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -5,6 +5,8 @@ import (
"sort"
"time"
"github.com/cosmos/gogoproto/proto"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/tendermint/tendermint/config"
tmsync "github.com/tendermint/tendermint/libs/sync"
@@ -224,9 +226,15 @@ func (r *Reactor) NewReceive(e p2p.Envelope) {
}
func (r *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *ssproto.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
r.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}

View File

@@ -388,9 +388,15 @@ func (conR *Reactor) NewReceive(e p2p.Envelope) {
}
func (conR *Reactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte) {
var msg *tmcons.Message
err := proto.Unmarshal(msgBytes, msg)
if err != nil {
panic(err)
}
conR.NewReceive(p2p.Envelope{
ChannelID: chID,
Src: peer,
Message: msg,
})
}