| 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) (ExtraPeerSelectionSetsWithSizes RemoteAddress) ExtraTrace m
- data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace (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 extraTrace ntnAddr)
- dtDebugPeerSelectionInitiatorTracer :: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
- dtDebugPeerSelectionInitiatorResponderTracer :: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
- dtTracePeerSelectionCounters :: Tracer m (PeerSelectionCounters extraCounters)
- dtTraceChurnCounters :: Tracer m ChurnCounters
- 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 extraCounters extraTrace. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace 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 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)
- 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 (m :: Type -> Type) a = Applications {
- daApplicationInitiatorMode :: Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx 'InitiatorMode ntnAddr ByteString m a Void)
- daApplicationInitiatorResponderMode :: Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx 'InitiatorResponderMode ntnAddr 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 (ExtraPeerSelectionSetsWithSizes RemoteAddress)
- type CardanoLocalRootConfig = LocalRootConfig PeerTrustable
- type CardanoTraceLocalRootPeers = TraceLocalRootPeers PeerTrustable RemoteAddress
- type CardanoTracePeerSelection = TracePeerSelection DebugPeerSelectionState PeerTrustable (ExtraPeers SockAddr) 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
- 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) (ExtraPeerSelectionSetsWithSizes RemoteAddress) ExtraTrace m Source #
data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace (m :: Type -> Type) #
Diffusion Tracers
Constructors
nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace 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 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 (m :: Type -> Type) a #
Versioned mini-protocol bundles run on a negotiated connection.
Constructors
| Applications | |
Fields
| |
type CardanoPeerSelectionCounters = PeerSelectionCounters (ExtraPeerSelectionSetsWithSizes RemoteAddress) Source #
type CardanoTracePeerSelection = TracePeerSelection DebugPeerSelectionState PeerTrustable (ExtraPeers SockAddr) 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 # | |
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 | |||||