mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-04 04:04:00 +00:00
evidence: reactor constructor (#7533)
This commit is contained in:
@@ -61,11 +61,17 @@ type Reactor struct {
|
||||
// service.Service interface. It accepts a p2p Channel dedicated for handling
|
||||
// envelopes with EvidenceList messages.
|
||||
func NewReactor(
|
||||
ctx context.Context,
|
||||
logger log.Logger,
|
||||
evidenceCh *p2p.Channel,
|
||||
chCreator p2p.ChannelCreator,
|
||||
peerUpdates *p2p.PeerUpdates,
|
||||
evpool *Pool,
|
||||
) *Reactor {
|
||||
) (*Reactor, error) {
|
||||
evidenceCh, err := chCreator(ctx, GetChannelDescriptor())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
r := &Reactor{
|
||||
logger: logger,
|
||||
evpool: evpool,
|
||||
@@ -75,7 +81,7 @@ func NewReactor(
|
||||
}
|
||||
|
||||
r.BaseService = *service.NewBaseService(logger, "Evidence", r)
|
||||
return r
|
||||
return r, err
|
||||
}
|
||||
|
||||
// OnStart starts separate go routines for each p2p Channel and listens for
|
||||
|
||||
@@ -89,10 +89,17 @@ func setup(ctx context.Context, t *testing.T, stateStores []sm.Store, chBuf uint
|
||||
rts.network.Nodes[nodeID].PeerManager.Register(ctx, rts.peerUpdates[nodeID])
|
||||
rts.nodes = append(rts.nodes, rts.network.Nodes[nodeID])
|
||||
|
||||
rts.reactors[nodeID] = evidence.NewReactor(logger,
|
||||
rts.evidenceChannels[nodeID],
|
||||
chCreator := func(ctx context.Context, chdesc *p2p.ChannelDescriptor) (*p2p.Channel, error) {
|
||||
return rts.evidenceChannels[nodeID], nil
|
||||
}
|
||||
|
||||
rts.reactors[nodeID], err = evidence.NewReactor(
|
||||
ctx,
|
||||
logger,
|
||||
chCreator,
|
||||
rts.peerUpdates[nodeID],
|
||||
rts.pools[nodeID])
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NoError(t, rts.reactors[nodeID].Start(ctx))
|
||||
require.True(t, rts.reactors[nodeID].IsRunning())
|
||||
|
||||
@@ -229,17 +229,16 @@ func createEvidenceReactor(
|
||||
return nil, nil, fmt.Errorf("creating evidence pool: %w", err)
|
||||
}
|
||||
|
||||
ch, err := router.OpenChannel(ctx, evidence.GetChannelDescriptor())
|
||||
if err != nil {
|
||||
return nil, nil, fmt.Errorf("creating evidence channel: %w", err)
|
||||
}
|
||||
|
||||
evidenceReactor := evidence.NewReactor(
|
||||
evidenceReactor, err := evidence.NewReactor(
|
||||
ctx,
|
||||
logger,
|
||||
ch,
|
||||
router.OpenChannel,
|
||||
peerManager.Subscribe(ctx),
|
||||
evidencePool,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, nil, fmt.Errorf("creating evidence reactor: %w", err)
|
||||
}
|
||||
|
||||
return evidenceReactor, evidencePool, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user