Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Network.Diffusion
Contents
Description
This module is expected to be imported qualified (it will clash with the Ouroboros.Network.Diffusion.NonP2P).
Synopsis
- data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters (m :: Type -> Type) = Tracers {
- dtMuxTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) Trace)
- dtHandshakeTracer :: Tracer m (HandshakeTr ntnAddr ntnVersion)
- dtLocalMuxTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) Trace)
- dtLocalHandshakeTracer :: Tracer m (HandshakeTr ntcAddr ntcVersion)
- dtDiffusionTracer :: Tracer m (DiffusionTracer ntnAddr ntcAddr)
- dtTraceLocalRootPeersTracer :: Tracer m (TraceLocalRootPeers extraFlags ntnAddr resolverError)
- dtTracePublicRootPeersTracer :: Tracer m TracePublicRootPeers
- dtTraceLedgerPeersTracer :: Tracer m TraceLedgerPeers
- dtTracePeerSelectionTracer :: Tracer m (TracePeerSelection extraDebugState extraFlags extraPeers 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)
- 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 resolverError extraState extraDebugState extraFlags extraPeers extraCounters. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters m
- data Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters exception resolver resolverError (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr = Arguments {
- daIPv4Address :: Maybe (Either ntnFd ntnAddr)
- daIPv6Address :: Maybe (Either ntnFd ntnAddr)
- daLocalAddress :: Maybe (Either ntcFd ntcAddr)
- daAcceptedConnectionsLimit :: AcceptedConnectionsLimit
- daMode :: DiffusionMode
- daPublicPeerSelectionVar :: StrictTVar m (PublicPeerSelectionState ntnAddr)
- daPeerSelectionTargets :: PeerSelectionTargets
- daReadLocalRootPeers :: STM m (Config extraFlags RelayAccessPoint)
- daReadPublicRootPeers :: STM m (Map RelayAccessPoint PeerAdvertise)
- daReadLedgerPeerSnapshot :: STM m (Maybe LedgerPeerSnapshot)
- daOwnPeerSharing :: PeerSharing
- daReadUseLedgerPeers :: STM m UseLedgerPeers
- daProtocolIdleTimeout :: DiffTime
- daTimeWaitTimeout :: DiffTime
- daDeadlineChurnInterval :: DiffTime
- daBulkChurnInterval :: DiffTime
- daEmptyExtraState :: extraState
- daEmptyExtraCounters :: extraCounters
- daExtraPeersAPI :: PublicExtraPeersAPI extraPeers ntnAddr
- daPeerSelectionGovernorArgs :: forall (muxMode :: Mode) responderCtx ntnVersionData bytes a b. PeerSelectionGovernorArgs extraState extraDebugState extraFlags extraPeers extraAPI extraCounters ntnAddr (PeerConnectionHandle muxMode responderCtx ntnAddr ntnVersionData bytes m a b) exception m
- daPeerSelectionStateToExtraCounters :: forall (muxMode :: Mode) responderCtx ntnVersionData bytes a b. PeerSelectionState extraState extraFlags extraPeers ntnAddr (PeerConnectionHandle muxMode responderCtx ntnAddr ntnVersionData bytes m a b) -> extraCounters
- daToExtraPeers :: Map ntnAddr PeerAdvertise -> extraPeers
- daRequestPublicRootPeers :: Maybe (PeerActionsDNS ntnAddr resolver resolverError m -> DNSSemaphore m -> (Map ntnAddr PeerAdvertise -> extraPeers) -> (NumberOfPeers -> LedgerPeersKind -> m (Maybe (Set ntnAddr, DiffTime))) -> LedgerPeersKind -> Int -> m (PublicRootPeers extraPeers ntnAddr, DiffTime))
- daPeerChurnGovernor :: PeerChurnArgs m extraChurnArgs extraDebugState extraFlags extraPeers extraAPI extraCounters ntnAddr -> m Void
- daExtraChurnArgs :: extraChurnArgs
- daMuxForkPolicy :: ForkPolicy ntnAddr
- daLocalMuxForkPolicy :: ForkPolicy ntcAddr
- run :: (Monoid extraPeers, Eq extraFlags, Eq extraCounters, Exception exception) => (forall (mode :: Mode) x y. NodeToNodeConnectionManager mode Socket RemoteAddress NodeToNodeVersionData NodeToNodeVersion IO x y -> StrictTVar IO (PeerSelectionState extraState extraFlags extraPeers RemoteAddress (NodeToNodePeerConnectionHandle mode RemoteAddress NodeToNodeVersionData IO x y)) -> PeerMetrics IO RemoteAddress -> IO ()) -> Tracers RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IOException extraState extraDebugState extraFlags extraPeers extraCounters IO -> Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters exception Resolver IOException IO Socket RemoteAddress LocalSocket LocalAddress -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData extraAPI IO a -> IO Void
- data Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError extraState extraFlags extraPeers extraAPI (m :: Type -> Type) = Interfaces {
- diNtnSnocket :: Snocket m ntnFd ntnAddr
- diNtnBearer :: MakeBearer m ntnFd
- diNtnConfigureSocket :: ntnFd -> Maybe ntnAddr -> m ()
- diNtnConfigureSystemdSocket :: ntnFd -> ntnAddr -> m ()
- diNtnHandshakeArguments :: HandshakeArguments (ConnectionId ntnAddr) ntnVersion ntnVersionData m
- diNtnAddressType :: ntnAddr -> Maybe AddressType
- diNtnDataFlow :: ntnVersionData -> DataFlow
- diNtnPeerSharing :: ntnVersionData -> PeerSharing
- diNtnToPeerAddr :: IP -> PortNumber -> ntnAddr
- diNtcSnocket :: Snocket m ntcFd ntcAddr
- diNtcBearer :: MakeBearer m ntcFd
- diNtcHandshakeArguments :: HandshakeArguments (ConnectionId ntcAddr) ntcVersion ntcVersionData m
- diNtcGetFileDescriptor :: ntcFd -> m FileDescriptor
- diRng :: StdGen
- diInstallSigUSR1Handler :: forall (mode :: Mode) x y. NodeToNodeConnectionManager mode ntnFd ntnAddr ntnVersionData ntnVersion m x y -> StrictTVar m (PeerSelectionState extraState extraFlags extraPeers ntnAddr (NodeToNodePeerConnectionHandle mode ntnAddr ntnVersionData m x y)) -> PeerMetrics m ntnAddr -> m ()
- diDnsActions :: DNSLookupType -> DNSActions resolver resolverError m
- diUpdateVersionData :: ntnVersionData -> DiffusionMode -> ntnVersionData
- diConnStateIdSupply :: ConnStateIdSupply m
- runM :: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError exception a extraState extraDebugState extraPeers extraAPI extraFlags extraChurnArgs extraCounters. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadEvaluate m, MonadFix m, MonadFork m, MonadLabelledSTM m, MonadTraceSTM m, MonadMask m, MonadThrow (STM m), MonadTime m, MonadTimer m, MonadMVar m, Typeable ntnAddr, Ord ntnAddr, Show ntnAddr, Hashable ntnAddr, Typeable ntnVersion, Ord ntnVersion, Show ntnVersion, Show ntnVersionData, Typeable ntcAddr, Ord ntcAddr, Show ntcAddr, Ord ntcVersion, Exception resolverError, Monoid extraPeers, Eq extraFlags, Eq extraCounters, Exception exception) => Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError extraState extraFlags extraPeers extraAPI m -> Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters m -> Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters exception resolver resolverError m ntnFd ntnAddr ntcFd ntcAddr -> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraAPI m a -> m Void
- type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState
- type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt)
Documentation
data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters (m :: Type -> Type) Source #
Common DiffusionTracers interface between P2P and NonP2P
Constructors
nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters m Source #
data Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters exception resolver resolverError (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr Source #
Common DiffusionArguments interface between P2P and NonP2P
Constructors
Arguments | |
Fields
|
run :: (Monoid extraPeers, Eq extraFlags, Eq extraCounters, Exception exception) => (forall (mode :: Mode) x y. NodeToNodeConnectionManager mode Socket RemoteAddress NodeToNodeVersionData NodeToNodeVersion IO x y -> StrictTVar IO (PeerSelectionState extraState extraFlags extraPeers RemoteAddress (NodeToNodePeerConnectionHandle mode RemoteAddress NodeToNodeVersionData IO x y)) -> PeerMetrics IO RemoteAddress -> IO ()) -> Tracers RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IOException extraState extraDebugState extraFlags extraPeers extraCounters IO -> Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters exception Resolver IOException IO Socket RemoteAddress LocalSocket LocalAddress -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData extraAPI IO a -> IO Void Source #
Main entry point for data diffusion service. It allows to:
- connect to upstream peers;
- accept connection from downstream peers, if run in
InitiatorAndResponderDiffusionMode
. - runs a local service which allows to use node-to-client protocol to obtain information from the running system. This is used by 'cardano-cli' or a wallet and a like local services.
data Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError extraState extraFlags extraPeers extraAPI (m :: Type -> Type) Source #
Constructors
Interfaces | |
Fields
|
Arguments
:: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError exception a extraState extraDebugState extraPeers extraAPI extraFlags extraChurnArgs extraCounters. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadEvaluate m, MonadFix m, MonadFork m, MonadLabelledSTM m, MonadTraceSTM m, MonadMask m, MonadThrow (STM m), MonadTime m, MonadTimer m, MonadMVar m, Typeable ntnAddr, Ord ntnAddr, Show ntnAddr, Hashable ntnAddr, Typeable ntnVersion, Ord ntnVersion, Show ntnVersion, Show ntnVersionData, Typeable ntcAddr, Ord ntcAddr, Show ntcAddr, Ord ntcVersion, Exception resolverError, Monoid extraPeers, Eq extraFlags, Eq extraCounters, Exception exception) | |
=> Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError extraState extraFlags extraPeers extraAPI m | interfaces |
-> Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError extraState extraDebugState extraFlags extraPeers extraCounters m | tracers |
-> Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters exception resolver resolverError m ntnFd ntnAddr ntcFd ntcAddr | configuration |
-> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraAPI m a | protocol handlers |
-> m Void |
Re-exports
type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState #
type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt) #