Safe Haskell | None |
---|---|
Language | Haskell2010 |
Cardano.Network.PeerSelection.Churn
Description
This subsystem manages the discovery and selection of upstream peers.
Synopsis
- data ChurnMode
- newtype TracerChurnMode = TraceChurnMode ChurnMode
- data ExtraArguments (m :: Type -> Type) = ExtraArguments {}
- peerChurnGovernor :: forall m extraState extraFlags extraCounters extraPeers peeraddr. (MonadDelay m, Alternative (STM m), MonadTimer m, MonadCatch m) => PeerChurnArgs m (ExtraArguments m) extraState extraFlags extraPeers (LedgerPeersConsensusInterface m) extraCounters peeraddr -> m Void
Documentation
Constructors
ChurnModeBulkSync | |
ChurnModeNormal |
newtype TracerChurnMode Source #
Constructors
TraceChurnMode ChurnMode |
Instances
Show TracerChurnMode Source # | |
Defined in Cardano.Network.PeerSelection.Churn Methods showsPrec :: Int -> TracerChurnMode -> ShowS # show :: TracerChurnMode -> String # showList :: [TracerChurnMode] -> ShowS # |
data ExtraArguments (m :: Type -> Type) Source #
Cardano Churn Extra Arguments
Constructors
ExtraArguments | |
peerChurnGovernor :: forall m extraState extraFlags extraCounters extraPeers peeraddr. (MonadDelay m, Alternative (STM m), MonadTimer m, MonadCatch m) => PeerChurnArgs m (ExtraArguments m) extraState extraFlags extraPeers (LedgerPeersConsensusInterface m) extraCounters peeraddr -> m Void Source #
Churn governor.
At every churn interval decrease active peers for a short while (1s), so that we can pick new ones. Then we churn non-active peers.
On startup the churn governor gives a head start to local root peers over root peers.