pex: allow disabled pex reactor (#7198)

This ensures the implementation respects disabling the pex reactor.
This commit is contained in:
Sam Kleinman
2021-11-03 12:51:42 +01:00
committed by GitHub
parent 279e8027d3
commit ffcd347ef6

View File

@@ -355,9 +355,12 @@ func makeNode(cfg *config.Config,
nodeMetrics.statesync, nodeMetrics.statesync,
) )
pexReactor, err := createPEXReactor(logger, peerManager, router) var pexReactor service.Service
if err != nil { if cfg.P2P.PexReactor {
return nil, combineCloseError(err, makeCloser(closers)) pexReactor, err = createPEXReactor(logger, peerManager, router)
if err != nil {
return nil, combineCloseError(err, makeCloser(closers))
}
} }
node := &nodeImpl{ node := &nodeImpl{
@@ -423,6 +426,9 @@ func makeSeedNode(cfg *config.Config,
genesisDocProvider genesisDocProvider, genesisDocProvider genesisDocProvider,
logger log.Logger, logger log.Logger,
) (service.Service, error) { ) (service.Service, error) {
if !cfg.P2P.PexReactor {
return nil, errors.New("cannot run seed nodes with PEX disabled")
}
genDoc, err := genesisDocProvider() genDoc, err := genesisDocProvider()
if err != nil { if err != nil {
@@ -546,8 +552,10 @@ func (n *nodeImpl) OnStart() error {
} }
} }
if err := n.pexReactor.Start(); err != nil { if n.config.P2P.PexReactor {
return err if err := n.pexReactor.Start(); err != nil {
return err
}
} }
// Run state sync // Run state sync