MCPcopy Create free account
hub / github.com/tendermint/tendermint / createPEXReactorAndAddToSwitch

Function createPEXReactorAndAddToSwitch

node/setup.go:707–726  ·  view source on GitHub ↗
(addrBook pex.AddrBook, cfg *config.Config,
	sw *p2p.Switch, logger log.Logger)

Source from the content-addressed store, hash-verified

705}
706
707func createPEXReactorAndAddToSwitch(addrBook pex.AddrBook, cfg *config.Config,
708 sw *p2p.Switch, logger log.Logger) *pex.Reactor {
709
710 reactorConfig := &pex.ReactorConfig{
711 Seeds: tmstrings.SplitAndTrimEmpty(cfg.P2P.Seeds, ",", " "), //nolint: staticcheck
712 SeedMode: cfg.Mode == config.ModeSeed,
713 // See consensus/reactor.go: blocksToContributeToBecomeGoodPeer 10000
714 // blocks assuming 10s blocks ~ 28 hours.
715 // TODO (melekes): make it dynamic based on the actual block latencies
716 // from the live network.
717 // https://github.com/tendermint/tendermint/issues/3523
718 SeedDisconnectWaitPeriod: 28 * time.Hour,
719 PersistentPeersMaxDialPeriod: cfg.P2P.PersistentPeersMaxDialPeriod,
720 }
721 // TODO persistent peers ? so we can have their DNS addrs saved
722 pexReactor := pex.NewReactor(addrBook, reactorConfig)
723 pexReactor.SetLogger(logger.With("module", "pex"))
724 sw.AddReactor("PEX", pexReactor)
725 return pexReactor
726}
727
728func createPEXReactorV2(
729 cfg *config.Config,

Callers 2

makeNodeFunction · 0.85
makeSeedNodeFunction · 0.85

Calls 4

NewReactorFunction · 0.92
AddReactorMethod · 0.80
SetLoggerMethod · 0.65
WithMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…