ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.PeerSelection.Governor.ActivePeers

Synopsis

Documentation

belowTarget Source #

Arguments

:: forall extraState extraDebugState extraFlags extraPeers extraAPI extraCounters peeraddr peerconn (m :: Type -> Type). (Alternative (STM m), MonadDelay m, MonadSTM m, Ord peeraddr, HasCallStack) 
=> (extraState -> Bool)

This argument enables or disables this monitoring action based on an extraState flag.

This might be useful if the user requires its diffusion layer to stop making progress during a sensitive/vulnerable situation and quarantine it and make sure it is only connected to trusted peers.

-> PeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters peeraddr peerconn m 
-> MkGuardedDecision extraState extraDebugState extraFlags extraPeers peeraddr peerconn m 

If we are below the target of hot peers we promote some of the /warm peers/ according to policyPickWarmPeersToPromote policy.

aboveTarget :: forall extraState extraDebugState extraFlags extraPeers extraAPI extraCounters peeraddr peerconn (m :: Type -> Type). (Alternative (STM m), MonadTimer m, Ord peeraddr, HasCallStack) => PeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters peeraddr peerconn m -> MkGuardedDecision extraState extraDebugState extraFlags extraPeers peeraddr peerconn m Source #

If we are above the target of hot peers we demote some hot peers to be warm peers, according to policyPickHotPeersToDemote.

jobDemoteActivePeer :: forall extraState extraDebugState extraFlags extraPeers extraAPI extraCounters peeraddr peerconn (m :: Type -> Type). (MonadTimer m, Ord peeraddr) => PeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters peeraddr peerconn m -> peeraddr -> peerconn -> Job () m (Completion m extraState extraDebugState extraFlags extraPeers peeraddr peerconn) Source #