| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Network.PeerSelection.Governor.Types
Synopsis
- data ExtraPeerSelectionSetsWithSizes peeraddr = ExtraPeerSelectionSetsWithSizes {
- viewKnownBootstrapPeers :: (Set peeraddr, Int)
- viewColdBootstrapPeersPromotions :: (Set peeraddr, Int)
- viewEstablishedBootstrapPeers :: (Set peeraddr, Int)
- viewWarmBootstrapPeersDemotions :: (Set peeraddr, Int)
- viewWarmBootstrapPeersPromotions :: (Set peeraddr, Int)
- viewActiveBootstrapPeers :: (Set peeraddr, Int)
- viewActiveBootstrapPeersDemotions :: (Set peeraddr, Int)
- empty :: ExtraPeerSelectionSetsWithSizes peeraddr
- cardanoPeerSelectionStatetoCounters :: Ord peeraddr => PeerSelectionState extraState extraFlags (ExtraPeers peeraddr) peeraddr peerconn -> ExtraPeerSelectionSetsWithSizes peeraddr
- outboundConnectionsState :: Ord peeraddr => AssociationMode -> PeerSelectionSetsWithSizes (ExtraPeerSelectionSetsWithSizes peeraddr) peeraddr -> PeerSelectionState ExtraState PeerTrustable extraPeers peeraddr peerconn -> OutboundConnectionsState
- cardanoPeerSelectionGovernorArgs :: forall (m :: Type -> Type) peeraddr extraDebugState peerconn. (MonadTimer m, Alternative (STM m), Ord peeraddr) => ExtraPeerSelectionActions m -> PeerSelectionGovernorArgs ExtraState extraDebugState PeerTrustable (ExtraPeers peeraddr) (LedgerPeersConsensusInterface m) (ExtraPeerSelectionSetsWithSizes peeraddr) ExtraTrace peeraddr peerconn BootstrapPeersCriticalTimeoutError m
- readAssociationMode :: forall (m :: Type -> Type). MonadSTM m => STM m UseLedgerPeers -> PeerSharing -> UseBootstrapPeers -> STM m AssociationMode
- data ExtraTrace
- newtype NumberOfBigLedgerPeers = NumberOfBigLedgerPeers {}
Documentation
data ExtraPeerSelectionSetsWithSizes peeraddr Source #
Peer selection view.
This is a functor which is used to hold computation of various peer sets and
their sizes. See peerSelectionStateToView, peerSelectionStateToCounters.
Constructors
| ExtraPeerSelectionSetsWithSizes | |
Fields
| |
Instances
| Show peeraddr => Show (ExtraPeerSelectionSetsWithSizes peeraddr) Source # | |
Defined in Cardano.Network.PeerSelection.Governor.Types Methods showsPrec :: Int -> ExtraPeerSelectionSetsWithSizes peeraddr -> ShowS # show :: ExtraPeerSelectionSetsWithSizes peeraddr -> String # showList :: [ExtraPeerSelectionSetsWithSizes peeraddr] -> ShowS # | |
| Eq peeraddr => Eq (ExtraPeerSelectionSetsWithSizes peeraddr) Source # | |
Defined in Cardano.Network.PeerSelection.Governor.Types Methods (==) :: ExtraPeerSelectionSetsWithSizes peeraddr -> ExtraPeerSelectionSetsWithSizes peeraddr -> Bool # (/=) :: ExtraPeerSelectionSetsWithSizes peeraddr -> ExtraPeerSelectionSetsWithSizes peeraddr -> Bool # | |
empty :: ExtraPeerSelectionSetsWithSizes peeraddr Source #
cardanoPeerSelectionStatetoCounters :: Ord peeraddr => PeerSelectionState extraState extraFlags (ExtraPeers peeraddr) peeraddr peerconn -> ExtraPeerSelectionSetsWithSizes peeraddr Source #
outboundConnectionsState :: Ord peeraddr => AssociationMode -> PeerSelectionSetsWithSizes (ExtraPeerSelectionSetsWithSizes peeraddr) peeraddr -> PeerSelectionState ExtraState PeerTrustable extraPeers peeraddr peerconn -> OutboundConnectionsState Source #
cardanoPeerSelectionGovernorArgs :: forall (m :: Type -> Type) peeraddr extraDebugState peerconn. (MonadTimer m, Alternative (STM m), Ord peeraddr) => ExtraPeerSelectionActions m -> PeerSelectionGovernorArgs ExtraState extraDebugState PeerTrustable (ExtraPeers peeraddr) (LedgerPeersConsensusInterface m) (ExtraPeerSelectionSetsWithSizes peeraddr) ExtraTrace peeraddr peerconn BootstrapPeersCriticalTimeoutError m Source #
readAssociationMode :: forall (m :: Type -> Type). MonadSTM m => STM m UseLedgerPeers -> PeerSharing -> UseBootstrapPeers -> STM m AssociationMode Source #
Classify if a node is in promiscuous mode.
A node is not in promiscuous mode only if: it doesn't use ledger peers, peer sharing, the set of bootstrap peers is empty.
data ExtraTrace Source #
Extra trace points for TracePeerSelection.
TODO: it ought to be moved to Types, but that introduces a circular
dependency.
Constructors
| TraceLedgerStateJudgementChanged LedgerStateJudgement | |
| TraceUseBootstrapPeersChanged UseBootstrapPeers |
Instances
| Show ExtraTrace Source # | |
Defined in Cardano.Network.PeerSelection.Governor.Monitor Methods showsPrec :: Int -> ExtraTrace -> ShowS # show :: ExtraTrace -> String # showList :: [ExtraTrace] -> ShowS # | |
newtype NumberOfBigLedgerPeers Source #
Minimum number of hot big ledger peers in Genesis mode
for trusted state to be signalled to Consensus. This number
should be smaller than the targetNumberOfActiveBigLedgerPeers
but greater than 1. In Genesis, we may demote a big ledger peer
for underperformance, but not promote a replacement immediately
to guard against adversaries which may want to slow down our
progress.
Constructors
| NumberOfBigLedgerPeers | |
Fields | |
Instances
| FromJSON NumberOfBigLedgerPeers Source # | |
Defined in Cardano.Network.PeerSelection.Governor.PeerSelectionState Methods parseJSON :: Value -> Parser NumberOfBigLedgerPeers # parseJSONList :: Value -> Parser [NumberOfBigLedgerPeers] # | |
| Show NumberOfBigLedgerPeers Source # | |
Defined in Cardano.Network.PeerSelection.Governor.PeerSelectionState Methods showsPrec :: Int -> NumberOfBigLedgerPeers -> ShowS # show :: NumberOfBigLedgerPeers -> String # showList :: [NumberOfBigLedgerPeers] -> ShowS # | |
| Eq NumberOfBigLedgerPeers Source # | |
Defined in Cardano.Network.PeerSelection.Governor.PeerSelectionState Methods (==) :: NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool # (/=) :: NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool # | |