mirror of
https://github.com/tendermint/tendermint.git
synced 2026-09-03 14:47:16 +00:00
mempool: consoldate implementations (#7171)
* mempool: consoldate implementations * update chagelog * fix test * Apply suggestions from code review Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com> * cleanup locking comments * context twiddle * migrate away from deprecated ioutil APIs (#7175) Co-authored-by: Callum Waters <cmwaters19@gmail.com> Co-authored-by: M. J. Fromberger <fromberger@interchain.io> Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com> Co-authored-by: Callum Waters <cmwaters19@gmail.com> Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
This commit is contained in:
co-authored by
M. J. Fromberger
Callum Waters
M. J. Fromberger
parent
8441b3715a
commit
5cc980698a
+29
-70
@@ -16,8 +16,6 @@ import (
|
||||
"github.com/tendermint/tendermint/internal/consensus"
|
||||
"github.com/tendermint/tendermint/internal/evidence"
|
||||
"github.com/tendermint/tendermint/internal/mempool"
|
||||
mempoolv0 "github.com/tendermint/tendermint/internal/mempool/v0"
|
||||
mempoolv1 "github.com/tendermint/tendermint/internal/mempool/v1"
|
||||
"github.com/tendermint/tendermint/internal/p2p"
|
||||
"github.com/tendermint/tendermint/internal/p2p/conn"
|
||||
"github.com/tendermint/tendermint/internal/p2p/pex"
|
||||
@@ -197,76 +195,37 @@ func createMempoolReactor(
|
||||
logger log.Logger,
|
||||
) (service.Service, mempool.Mempool, error) {
|
||||
|
||||
logger = logger.With("module", "mempool", "version", cfg.Mempool.Version)
|
||||
peerUpdates := peerManager.Subscribe()
|
||||
logger = logger.With("module", "mempool")
|
||||
|
||||
switch cfg.Mempool.Version {
|
||||
case config.MempoolV0:
|
||||
ch, err := router.OpenChannel(mempoolv0.GetChannelDescriptor(cfg.Mempool))
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
mp := mempoolv0.NewCListMempool(
|
||||
cfg.Mempool,
|
||||
proxyApp.Mempool(),
|
||||
state.LastBlockHeight,
|
||||
mempoolv0.WithMetrics(memplMetrics),
|
||||
mempoolv0.WithPreCheck(sm.TxPreCheck(state)),
|
||||
mempoolv0.WithPostCheck(sm.TxPostCheck(state)),
|
||||
)
|
||||
|
||||
mp.SetLogger(logger)
|
||||
|
||||
reactor := mempoolv0.NewReactor(
|
||||
logger,
|
||||
cfg.Mempool,
|
||||
peerManager,
|
||||
mp,
|
||||
ch,
|
||||
peerUpdates,
|
||||
)
|
||||
|
||||
if cfg.Consensus.WaitForTxs() {
|
||||
mp.EnableTxsAvailable()
|
||||
}
|
||||
|
||||
return reactor, mp, nil
|
||||
|
||||
case config.MempoolV1:
|
||||
ch, err := router.OpenChannel(mempoolv1.GetChannelDescriptor(cfg.Mempool))
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
mp := mempoolv1.NewTxMempool(
|
||||
logger,
|
||||
cfg.Mempool,
|
||||
proxyApp.Mempool(),
|
||||
state.LastBlockHeight,
|
||||
mempoolv1.WithMetrics(memplMetrics),
|
||||
mempoolv1.WithPreCheck(sm.TxPreCheck(state)),
|
||||
mempoolv1.WithPostCheck(sm.TxPostCheck(state)),
|
||||
)
|
||||
|
||||
reactor := mempoolv1.NewReactor(
|
||||
logger,
|
||||
cfg.Mempool,
|
||||
peerManager,
|
||||
mp,
|
||||
ch,
|
||||
peerUpdates,
|
||||
)
|
||||
|
||||
if cfg.Consensus.WaitForTxs() {
|
||||
mp.EnableTxsAvailable()
|
||||
}
|
||||
|
||||
return reactor, mp, nil
|
||||
|
||||
default:
|
||||
return nil, nil, fmt.Errorf("unknown mempool version: %s", cfg.Mempool.Version)
|
||||
ch, err := router.OpenChannel(mempool.GetChannelDescriptor(cfg.Mempool))
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
mp := mempool.NewTxMempool(
|
||||
logger,
|
||||
cfg.Mempool,
|
||||
proxyApp.Mempool(),
|
||||
state.LastBlockHeight,
|
||||
mempool.WithMetrics(memplMetrics),
|
||||
mempool.WithPreCheck(sm.TxPreCheck(state)),
|
||||
mempool.WithPostCheck(sm.TxPostCheck(state)),
|
||||
)
|
||||
|
||||
reactor := mempool.NewReactor(
|
||||
logger,
|
||||
cfg.Mempool,
|
||||
peerManager,
|
||||
mp,
|
||||
ch,
|
||||
peerManager.Subscribe(),
|
||||
)
|
||||
|
||||
if cfg.Consensus.WaitForTxs() {
|
||||
mp.EnableTxsAvailable()
|
||||
}
|
||||
|
||||
return reactor, mp, nil
|
||||
}
|
||||
|
||||
func createEvidenceReactor(
|
||||
|
||||
Reference in New Issue
Block a user