| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Network.Diffusion.Types
Contents
Synopsis
- data CardanoNodeArguments (m :: Type -> Type) = CardanoNodeArguments {}
- data CardanoConsensusArguments ntnAddr (m :: Type -> Type) = CardanoConsensusArguments {
- churnModeVar :: StrictTVar m ChurnMode
- churnMetrics :: PeerMetrics m ntnAddr
- ledgerPeersAPI :: LedgerPeersConsensusInterface (LedgerPeersConsensusInterface m) m
- readUseBootstrapPeers :: STM m UseBootstrapPeers
- type CardanoTracers (m :: Type -> Type) = Tracers RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData ExtraState DebugPeerSelectionState PeerTrustable (ExtraPeers RemoteAddress) m
- data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers (m :: Type -> Type) = Tracers {
- dtMuxTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) Trace)
- dtChannelTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) ChannelTrace)
- dtBearerTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) BearerTrace)
- dtHandshakeTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) (TraceSendRecv (Handshake ntnVersion Term)))
- dtLocalMuxTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) Trace)
- dtLocalChannelTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) ChannelTrace)
- dtLocalBearerTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) BearerTrace)
- dtLocalHandshakeTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) (TraceSendRecv (Handshake ntcVersion Term)))
- dtDiffusionTracer :: Tracer m (DiffusionTracer ntnAddr ntcAddr)
- dtTraceLocalRootPeersTracer :: Tracer m (TraceLocalRootPeers extraFlags ntnAddr)
- dtTracePublicRootPeersTracer :: Tracer m TracePublicRootPeers
- dtTraceLedgerPeersTracer :: Tracer m TraceLedgerPeers
- dtTracePeerSelectionTracer :: Tracer m (TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
- dtDebugPeerSelectionTracer :: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
- dtTracePeerSelectionCounters :: Tracer m (PeerSelectionCounters (ViewExtraPeers extraPeers))
- dtPeerSelectionActionsTracer :: Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
- dtConnectionManagerTracer :: Tracer m (Trace ntnAddr (ConnectionHandlerTrace ntnVersion ntnVersionData))
- dtConnectionManagerTransitionTracer :: Tracer m (AbstractTransitionTrace ConnStateId)
- dtServerTracer :: Tracer m (Trace ntnAddr)
- dtInboundGovernorTracer :: Tracer m (Trace ntnAddr)
- dtInboundGovernorTransitionTracer :: Tracer m (RemoteTransitionTrace ntnAddr)
- dtDnsTracer :: Tracer m DNSTrace
- dtLocalConnectionManagerTracer :: Tracer m (Trace ntcAddr (ConnectionHandlerTrace ntcVersion ntcVersionData))
- dtLocalServerTracer :: Tracer m (Trace ntcAddr)
- dtLocalInboundGovernorTracer :: Tracer m (Trace ntcAddr)
- nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers m
- type CardanoConfiguration (m :: Type -> Type) = Configuration PeerTrustable m Socket RemoteAddress LocalSocket LocalAddress
- type CardanoApplications (m :: Type -> Type) a = Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData PeerTrustable m a
- data Configuration extraFlags (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr = Configuration {
- dcIPv4Address :: Maybe (Either ntnFd ntnAddr)
- dcIPv6Address :: Maybe (Either ntnFd ntnAddr)
- dcLocalAddress :: Maybe (Either ntcFd ntcAddr)
- dcAcceptedConnectionsLimit :: AcceptedConnectionsLimit
- dcMode :: DiffusionMode
- dcPublicPeerSelectionVar :: StrictTVar m (PublicPeerSelectionState ntnAddr)
- dcPeerSelectionTargets :: PeerSelectionTargets
- dcReadLocalRootPeers :: STM m (Config extraFlags RelayAccessPoint)
- dcReadPublicRootPeers :: STM m (Map RelayAccessPoint PeerAdvertise)
- dcReadLedgerPeerSnapshot :: STM m (Maybe (LedgerPeerSnapshot 'BigLedgerPeers))
- dcReadUseLedgerPeers :: STM m UseLedgerPeers
- dcPeerSharing :: PeerSharing
- dcProtocolIdleTimeout :: DiffTime
- dcTimeWaitTimeout :: DiffTime
- dcDeadlineChurnInterval :: DiffTime
- dcBulkChurnInterval :: DiffTime
- dcMuxForkPolicy :: ForkPolicy ntnAddr
- dcLocalMuxForkPolicy :: ForkPolicy ntcAddr
- dcEgressPollInterval :: DiffTime
- data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraFlags (m :: Type -> Type) a = Applications {
- daApplicationInitiatorMode :: Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx 'InitiatorMode ntnAddr extraFlags ByteString m a Void)
- daApplicationInitiatorResponderMode :: Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx 'InitiatorResponderMode ntnAddr extraFlags ByteString m a ())
- daLocalResponderApplication :: Versions ntcVersion ntcVersionData (OuroborosApplicationWithMinimalCtx 'ResponderMode ntcAddr ByteString m Void ())
- daRethrowPolicy :: RethrowPolicy
- daReturnPolicy :: ReturnPolicy a
- daRepromoteErrorDelay :: RepromoteDelay
- daLocalRethrowPolicy :: RethrowPolicy
- daPeerSelectionPolicy :: PeerSelectionPolicy ntnAddr m
- daPeerSharingRegistry :: PeerSharingRegistry ntnAddr m
- type CardanoPeerSelectionCounters = PeerSelectionCounters (ViewExtraPeers (ExtraPeers RemoteAddress))
- type CardanoLocalRootConfig = LocalRootConfig PeerTrustable
- type CardanoTraceLocalRootPeers = TraceLocalRootPeers PeerTrustable RemoteAddress
- type CardanoTracePeerSelection = TracePeerSelection DebugPeerSelectionState PeerTrustable (ExtraPeers RemoteAddress) RemoteAddress
- type CardanoDebugPeerSelection = DebugPeerSelection ExtraState PeerTrustable (ExtraPeers RemoteAddress) RemoteAddress
- newtype TraceChurnMode = TraceChurnMode ChurnMode
- data PeerMetrics (m :: Type -> Type) p
- data LedgerPeersConsensusInterface extraAPI (m :: Type -> Type) = LedgerPeersConsensusInterface {
- lpGetLatestSlot :: STM m (WithOrigin SlotNo)
- lpGetLedgerPeers :: STM m [(PoolStake, NonEmpty LedgerRelayAccessPoint)]
- lpExtraAPI :: extraAPI
- data PeerSelectionTargets
- class (Ord peeraddr, Show peeraddr, Eq (ViewExtraPeers extraPeers), Show extraPeers, Show (ToExtraTrace extraPeers)) => SupportsPeerSelectionState extraPeers peeraddr where
- data ToExtraTrace extraPeers
- data ViewExtraPeers extraPeers
- publicExtraPeersAPI :: PublicExtraPeersAPI extraPeers peeraddr
- mkViewExtraPeers :: PeerSelectionState extraState extraFlags extraPeers peeraddr peerconn -> ViewExtraPeers extraPeers
- data family ToExtraTrace extraPeers
- data family ViewExtraPeers extraPeers
- data ConsensusMode
Documentation
data CardanoNodeArguments (m :: Type -> Type) Source #
Arguments required to instantiate Cardano Node Diffusion
Constructors
| CardanoNodeArguments | |
Fields
| |
data CardanoConsensusArguments ntnAddr (m :: Type -> Type) Source #
Arguments required to instantiate Cardano Node Diffusion.
Constructors
| CardanoConsensusArguments | |
Fields
| |
type CardanoTracers (m :: Type -> Type) = Tracers RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData ExtraState DebugPeerSelectionState PeerTrustable (ExtraPeers RemoteAddress) m Source #
data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers (m :: Type -> Type) #
Diffusion Tracers
Constructors
nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers m #
type CardanoConfiguration (m :: Type -> Type) = Configuration PeerTrustable m Socket RemoteAddress LocalSocket LocalAddress Source #
type CardanoApplications (m :: Type -> Type) a = Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData PeerTrustable m a Source #
data Configuration extraFlags (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr #
Required Diffusion Arguments to run network layer
Constructors
| Configuration | |
Fields
| |
data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraFlags (m :: Type -> Type) a #
Versioned mini-protocol bundles run on a negotiated connection.
Constructors
| Applications | |
Fields
| |
type CardanoPeerSelectionCounters = PeerSelectionCounters (ViewExtraPeers (ExtraPeers RemoteAddress)) Source #
type CardanoTracePeerSelection = TracePeerSelection DebugPeerSelectionState PeerTrustable (ExtraPeers RemoteAddress) RemoteAddress Source #
type CardanoDebugPeerSelection = DebugPeerSelection ExtraState PeerTrustable (ExtraPeers RemoteAddress) RemoteAddress Source #
Re-exports
newtype TraceChurnMode Source #
Constructors
| TraceChurnMode ChurnMode |
Instances
| Show TraceChurnMode Source # | |
Defined in Cardano.Network.PeerSelection.Churn Methods showsPrec :: Int -> TraceChurnMode -> ShowS # show :: TraceChurnMode -> String # showList :: [TraceChurnMode] -> ShowS # | |
data PeerMetrics (m :: Type -> Type) p #
Mutable peer metrics state accessible via STM.
data LedgerPeersConsensusInterface extraAPI (m :: Type -> Type) #
Constructors
| LedgerPeersConsensusInterface | |
Fields
| |
data PeerSelectionTargets #
Adjustable targets for the peer selection mechanism.
These are used by the peer selection governor as targets. They are used by the peer churn governor loop as knobs to adjust, to influence the peer selection governor.
The known, established and active peer targets are targets both from below and from above: the governor will attempt to grow or shrink the sets to hit these targets.
Unlike the other targets, the root peer target is "one sided", it is only a target from below. The governor does not try to shrink the root set to hit it, it simply stops looking for more.
There is also an implicit target that enough local root peers are selected as active. This comes from the configuration for local roots, and is not an independently adjustable target.
Instances
| Show PeerSelectionTargets | |
Defined in Ouroboros.Network.PeerSelection.Governor.Types Methods showsPrec :: Int -> PeerSelectionTargets -> ShowS # show :: PeerSelectionTargets -> String # showList :: [PeerSelectionTargets] -> ShowS # | |
| Eq PeerSelectionTargets | |
Defined in Ouroboros.Network.PeerSelection.Governor.Types Methods (==) :: PeerSelectionTargets -> PeerSelectionTargets -> Bool # (/=) :: PeerSelectionTargets -> PeerSelectionTargets -> Bool # | |
class (Ord peeraddr, Show peeraddr, Eq (ViewExtraPeers extraPeers), Show extraPeers, Show (ToExtraTrace extraPeers)) => SupportsPeerSelectionState extraPeers peeraddr where #
Associated Types
data ToExtraTrace extraPeers #
data ViewExtraPeers extraPeers #
Peer selection view.
This is a functor which is used to hold computation of various peer sets and
their sizes. See peerSelectionStateToView, peerSelectionStateToCounters.
Methods
publicExtraPeersAPI :: PublicExtraPeersAPI extraPeers peeraddr #
mkViewExtraPeers :: PeerSelectionState extraState extraFlags extraPeers peeraddr peerconn -> ViewExtraPeers extraPeers #
Instances
data family ToExtraTrace extraPeers #
Instances
| Show (ToExtraTrace (ExtraPeers peeraddr)) Source # | |
Defined in Cardano.Network.PeerSelection.ExtraRootPeers Methods showsPrec :: Int -> ToExtraTrace (ExtraPeers peeraddr) -> ShowS # show :: ToExtraTrace (ExtraPeers peeraddr) -> String # showList :: [ToExtraTrace (ExtraPeers peeraddr)] -> ShowS # | |
| Show (ToExtraTrace (NoExtraPeers peeraddr)) | |
Defined in Ouroboros.Network.Diffusion.Types Methods showsPrec :: Int -> ToExtraTrace (NoExtraPeers peeraddr) -> ShowS # show :: ToExtraTrace (NoExtraPeers peeraddr) -> String # showList :: [ToExtraTrace (NoExtraPeers peeraddr)] -> ShowS # | |
| data ToExtraTrace (ExtraPeers peeraddr) Source # | |
| data ToExtraTrace (NoExtraPeers peeraddr) | |
Defined in Ouroboros.Network.Diffusion.Types | |
data family ViewExtraPeers extraPeers #
Peer selection view.
This is a functor which is used to hold computation of various peer sets and
their sizes. See peerSelectionStateToView, peerSelectionStateToCounters.
Instances
| Show peeraddr => Show (ViewExtraPeers (ExtraPeers peeraddr)) Source # | |
Defined in Cardano.Network.PeerSelection.ExtraRootPeers Methods showsPrec :: Int -> ViewExtraPeers (ExtraPeers peeraddr) -> ShowS # show :: ViewExtraPeers (ExtraPeers peeraddr) -> String # showList :: [ViewExtraPeers (ExtraPeers peeraddr)] -> ShowS # | |
| Eq peeraddr => Eq (ViewExtraPeers (ExtraPeers peeraddr)) Source # | |
Defined in Cardano.Network.PeerSelection.ExtraRootPeers Methods (==) :: ViewExtraPeers (ExtraPeers peeraddr) -> ViewExtraPeers (ExtraPeers peeraddr) -> Bool # (/=) :: ViewExtraPeers (ExtraPeers peeraddr) -> ViewExtraPeers (ExtraPeers peeraddr) -> Bool # | |
| Eq (ViewExtraPeers (NoExtraPeers peeraddr)) | |
Defined in Ouroboros.Network.Diffusion.Types Methods (==) :: ViewExtraPeers (NoExtraPeers peeraddr) -> ViewExtraPeers (NoExtraPeers peeraddr) -> Bool # (/=) :: ViewExtraPeers (NoExtraPeers peeraddr) -> ViewExtraPeers (NoExtraPeers peeraddr) -> Bool # | |
| data ViewExtraPeers (ExtraPeers peeraddr) Source # | |
Defined in Cardano.Network.PeerSelection.ExtraRootPeers data ViewExtraPeers (ExtraPeers peeraddr) = ExtraPeerSelectionSetsWithSizes {
| |
| data ViewExtraPeers (NoExtraPeers peeraddr) | |
Defined in Ouroboros.Network.Diffusion.Types | |
data ConsensusMode #
Constructors
| GenesisMode | |
| PraosMode |
Instances
| FromJSON ConsensusMode | |||||
Defined in Cardano.Network.ConsensusMode Methods parseJSON :: Value -> Parser ConsensusMode # parseJSONList :: Value -> Parser [ConsensusMode] # | |||||
| Generic ConsensusMode | |||||
Defined in Cardano.Network.ConsensusMode Associated Types
| |||||
| Show ConsensusMode | |||||
Defined in Cardano.Network.ConsensusMode Methods showsPrec :: Int -> ConsensusMode -> ShowS # show :: ConsensusMode -> String # showList :: [ConsensusMode] -> ShowS # | |||||
| Eq ConsensusMode | |||||
Defined in Cardano.Network.ConsensusMode Methods (==) :: ConsensusMode -> ConsensusMode -> Bool # (/=) :: ConsensusMode -> ConsensusMode -> Bool # | |||||
| type Rep ConsensusMode | |||||
Defined in Cardano.Network.ConsensusMode | |||||