mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-07 22:05:18 +00:00
eventbus: publish without contexts (#8369)
This commit is contained in:
29
node/node.go
29
node/node.go
@@ -292,16 +292,32 @@ func makeNode(
|
||||
blockSync := !onlyValidatorIsUs(state, pubKey)
|
||||
waitSync := stateSync || blockSync
|
||||
|
||||
csReactor, csState, err := createConsensusReactor(ctx,
|
||||
cfg, stateStore, blockExec, blockStore, mp, evPool,
|
||||
privValidator, nodeMetrics.consensus, waitSync, eventBus,
|
||||
peerManager, node.router.OpenChannel, logger,
|
||||
csState, err := consensus.NewState(logger.With("module", "consensus"),
|
||||
cfg.Consensus,
|
||||
stateStore,
|
||||
blockExec,
|
||||
blockStore,
|
||||
mp,
|
||||
evPool,
|
||||
eventBus,
|
||||
consensus.StateMetrics(nodeMetrics.consensus),
|
||||
consensus.SkipStateStoreBootstrap,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, combineCloseError(err, makeCloser(closers))
|
||||
}
|
||||
node.services = append(node.services, csReactor)
|
||||
node.rpcEnv.ConsensusState = csState
|
||||
|
||||
csReactor := consensus.NewReactor(
|
||||
logger,
|
||||
csState,
|
||||
node.router.OpenChannel,
|
||||
peerManager.Subscribe,
|
||||
eventBus,
|
||||
waitSync,
|
||||
nodeMetrics.consensus,
|
||||
)
|
||||
node.services = append(node.services, csReactor)
|
||||
node.rpcEnv.ConsensusReactor = csReactor
|
||||
|
||||
// Create the blockchain reactor. Note, we do not start block sync if we're
|
||||
@@ -370,6 +386,9 @@ func makeNode(
|
||||
))
|
||||
|
||||
if cfg.Mode == config.ModeValidator {
|
||||
if privValidator != nil {
|
||||
csState.SetPrivValidator(ctx, privValidator)
|
||||
}
|
||||
node.rpcEnv.PubKey = pubKey
|
||||
}
|
||||
|
||||
|
||||
@@ -231,56 +231,6 @@ func createEvidenceReactor(
|
||||
return evidenceReactor, evidencePool, dbCloser, nil
|
||||
}
|
||||
|
||||
func createConsensusReactor(
|
||||
ctx context.Context,
|
||||
cfg *config.Config,
|
||||
store sm.Store,
|
||||
blockExec *sm.BlockExecutor,
|
||||
blockStore sm.BlockStore,
|
||||
mp mempool.Mempool,
|
||||
evidencePool *evidence.Pool,
|
||||
privValidator types.PrivValidator,
|
||||
csMetrics *consensus.Metrics,
|
||||
waitSync bool,
|
||||
eventBus *eventbus.EventBus,
|
||||
peerManager *p2p.PeerManager,
|
||||
chCreator p2p.ChannelCreator,
|
||||
logger log.Logger,
|
||||
) (*consensus.Reactor, *consensus.State, error) {
|
||||
logger = logger.With("module", "consensus")
|
||||
|
||||
consensusState, err := consensus.NewState(ctx,
|
||||
logger,
|
||||
cfg.Consensus,
|
||||
store,
|
||||
blockExec,
|
||||
blockStore,
|
||||
mp,
|
||||
evidencePool,
|
||||
eventBus,
|
||||
consensus.StateMetrics(csMetrics),
|
||||
consensus.SkipStateStoreBootstrap,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
if privValidator != nil && cfg.Mode == config.ModeValidator {
|
||||
consensusState.SetPrivValidator(ctx, privValidator)
|
||||
}
|
||||
|
||||
reactor := consensus.NewReactor(
|
||||
logger,
|
||||
consensusState,
|
||||
chCreator,
|
||||
peerManager.Subscribe,
|
||||
eventBus,
|
||||
waitSync,
|
||||
csMetrics,
|
||||
)
|
||||
return reactor, consensusState, nil
|
||||
}
|
||||
|
||||
func createPeerManager(
|
||||
cfg *config.Config,
|
||||
dbProvider config.DBProvider,
|
||||
|
||||
Reference in New Issue
Block a user