Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module is expected to be imported qualified (it will clash with the Ouroboros.Network.Diffusion.NonP2P).
Synopsis
- data TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError (m :: Type -> Type) = TracersExtra {
- dtTraceLocalRootPeersTracer :: Tracer m (TraceLocalRootPeers ntnAddr resolverError)
- dtTracePublicRootPeersTracer :: Tracer m TracePublicRootPeers
- dtTraceLedgerPeersTracer :: Tracer m TraceLedgerPeers
- dtTracePeerSelectionTracer :: Tracer m (TracePeerSelection ntnAddr)
- dtDebugPeerSelectionInitiatorTracer :: Tracer m (DebugPeerSelection ntnAddr)
- dtDebugPeerSelectionInitiatorResponderTracer :: Tracer m (DebugPeerSelection ntnAddr)
- dtTracePeerSelectionCounters :: Tracer m PeerSelectionCounters
- dtTraceChurnCounters :: Tracer m ChurnCounters
- dtPeerSelectionActionsTracer :: Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
- dtConnectionManagerTracer :: Tracer m (ConnectionManagerTrace ntnAddr (ConnectionHandlerTrace ntnVersion ntnVersionData))
- dtConnectionManagerTransitionTracer :: Tracer m (AbstractTransitionTrace ntnAddr)
- dtServerTracer :: Tracer m (ServerTrace ntnAddr)
- dtInboundGovernorTracer :: Tracer m (InboundGovernorTrace ntnAddr)
- dtInboundGovernorTransitionTracer :: Tracer m (RemoteTransitionTrace ntnAddr)
- dtLocalConnectionManagerTracer :: Tracer m (ConnectionManagerTrace ntcAddr (ConnectionHandlerTrace ntcVersion ntcVersionData))
- dtLocalServerTracer :: Tracer m (ServerTrace ntcAddr)
- dtLocalInboundGovernorTracer :: Tracer m (InboundGovernorTrace ntcAddr)
- nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError. Applicative m => TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m
- data ArgumentsExtra (m :: Type -> Type) = ArgumentsExtra {
- daPeerTargets :: ConsensusModePeerTargets
- daReadLocalRootPeers :: STM m (Config RelayAccessPoint)
- daReadPublicRootPeers :: STM m (Map RelayAccessPoint PeerAdvertise)
- daConsensusMode :: ConsensusMode
- daMinBigLedgerPeersForTrustedState :: MinBigLedgerPeersForTrustedState
- daReadUseBootstrapPeers :: STM m UseBootstrapPeers
- daReadLedgerPeerSnapshot :: STM m (Maybe LedgerPeerSnapshot)
- daOwnPeerSharing :: PeerSharing
- daReadUseLedgerPeers :: STM m UseLedgerPeers
- daProtocolIdleTimeout :: DiffTime
- daTimeWaitTimeout :: DiffTime
- daDeadlineChurnInterval :: DiffTime
- daBulkChurnInterval :: DiffTime
- data AcceptedConnectionsLimit = AcceptedConnectionsLimit {}
- data ApplicationsExtra ntnAddr (m :: Type -> Type) a = ApplicationsExtra {
- daRethrowPolicy :: RethrowPolicy
- daReturnPolicy :: ReturnPolicy a
- daLocalRethrowPolicy :: RethrowPolicy
- daPeerMetrics :: PeerMetrics m ntnAddr
- daBlockFetchMode :: STM m FetchMode
- daPeerSharingRegistry :: PeerSharingRegistry ntnAddr m
- run :: Tracers RemoteAddress NodeToNodeVersion LocalAddress NodeToClientVersion IO -> TracersExtra RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IOException IO -> Arguments IO Socket RemoteAddress LocalSocket LocalAddress -> ArgumentsExtra IO -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO a -> ApplicationsExtra RemoteAddress IO a -> IO Void
- data Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError (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 :: ntnVersion -> 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 :: MuxMode) x y. NodeToNodeConnectionManager mode ntnFd ntnAddr ntnVersionData ntnVersion m x y -> StrictTVar m (PeerSelectionState ntnAddr (NodeToNodePeerConnectionHandle mode ntnAddr ntnVersionData m x y)) -> PeerMetrics m ntnAddr -> m ()
- diDnsActions :: DNSLookupType -> DNSActions resolver resolverError m
- runM :: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError a. (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) => Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError m -> Tracers ntnAddr ntnVersion ntcAddr ntcVersion m -> TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m -> Arguments m ntnFd ntnAddr ntcFd ntcAddr -> ArgumentsExtra m -> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData m a -> ApplicationsExtra ntnAddr m a -> m Void
- type NodeToNodePeerConnectionHandle (mode :: MuxMode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerConnectionHandle mode (ResponderContext ntnAddr) ntnAddr ntnVersionData ByteString m a b
- type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState
- type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt)
Documentation
data TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError (m :: Type -> Type) Source #
P2P DiffusionTracers Extras
nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError. Applicative m => TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m Source #
data ArgumentsExtra (m :: Type -> Type) Source #
P2P Arguments Extras
ArgumentsExtra | |
|
data AcceptedConnectionsLimit #
Policy which governs how to limit the number of accepted connections.
AcceptedConnectionsLimit | |
|
Instances
data ApplicationsExtra ntnAddr (m :: Type -> Type) a Source #
P2P Applications Extras
TODO: we need initiator only mode for Daedalus, there's no reason why it should run a node-to-node server side.
ApplicationsExtra | |
|
run :: Tracers RemoteAddress NodeToNodeVersion LocalAddress NodeToClientVersion IO -> TracersExtra RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IOException IO -> Arguments IO Socket RemoteAddress LocalSocket LocalAddress -> ArgumentsExtra IO -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO a -> ApplicationsExtra RemoteAddress 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 (m :: Type -> Type) Source #
Interfaces | |
|
:: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError a. (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) | |
=> Interfaces ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError m | interfaces |
-> Tracers ntnAddr ntnVersion ntcAddr ntcVersion m | tracers |
-> TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m | p2p tracers |
-> Arguments m ntnFd ntnAddr ntcFd ntcAddr | configuration |
-> ArgumentsExtra m | p2p configuration |
-> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData m a | protocol handlers |
-> ApplicationsExtra ntnAddr m a | p2p protocol handlers |
-> m Void |
type NodeToNodePeerConnectionHandle (mode :: MuxMode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerConnectionHandle mode (ResponderContext ntnAddr) ntnAddr ntnVersionData ByteString m a b Source #
Re-exports
type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState #
type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt) #