From ffcd347ef61e7dc1b38da886d1695804beeed2f6 Mon Sep 17 00:00:00 2001 From: Sam Kleinman Date: Wed, 3 Nov 2021 12:51:42 +0100 Subject: [PATCH] pex: allow disabled pex reactor (#7198) This ensures the implementation respects disabling the pex reactor. --- node/node.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/node/node.go b/node/node.go index eec58ef8b..c17a4f409 100644 --- a/node/node.go +++ b/node/node.go @@ -355,9 +355,12 @@ func makeNode(cfg *config.Config, nodeMetrics.statesync, ) - pexReactor, err := createPEXReactor(logger, peerManager, router) - if err != nil { - return nil, combineCloseError(err, makeCloser(closers)) + var pexReactor service.Service + if cfg.P2P.PexReactor { + pexReactor, err = createPEXReactor(logger, peerManager, router) + if err != nil { + return nil, combineCloseError(err, makeCloser(closers)) + } } node := &nodeImpl{ @@ -423,6 +426,9 @@ func makeSeedNode(cfg *config.Config, genesisDocProvider genesisDocProvider, logger log.Logger, ) (service.Service, error) { + if !cfg.P2P.PexReactor { + return nil, errors.New("cannot run seed nodes with PEX disabled") + } genDoc, err := genesisDocProvider() if err != nil { @@ -546,8 +552,10 @@ func (n *nodeImpl) OnStart() error { } } - if err := n.pexReactor.Start(); err != nil { - return err + if n.config.P2P.PexReactor { + if err := n.pexReactor.Start(); err != nil { + return err + } } // Run state sync