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 =
TracersExtra
{
- dtTraceLocalRootPeersTracer :: Tracer m ( TraceLocalRootPeers ntnAddr resolverError)
- dtTracePublicRootPeersTracer :: Tracer m TracePublicRootPeers
- dtTracePeerSelectionTracer :: Tracer m ( TracePeerSelection ntnAddr)
- dtDebugPeerSelectionInitiatorTracer :: Tracer m ( DebugPeerSelection ntnAddr ( PeerConnectionHandle InitiatorMode ntnAddr ByteString m () Void ))
- dtDebugPeerSelectionInitiatorResponderTracer :: Tracer m ( DebugPeerSelection ntnAddr ( PeerConnectionHandle InitiatorResponderMode ntnAddr ByteString m () ()))
- dtTracePeerSelectionCounters :: Tracer m PeerSelectionCounters
- dtPeerSelectionActionsTracer :: Tracer m ( PeerSelectionActionsTrace ntnAddr)
- 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 :: Applicative m => TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m
- data ArgumentsExtra m = ArgumentsExtra { }
- data AcceptedConnectionsLimit = AcceptedConnectionsLimit { }
-
data
ApplicationsExtra
ntnAddr m =
ApplicationsExtra
{
- daRethrowPolicy :: RethrowPolicy
- daLocalRethrowPolicy :: RethrowPolicy
- daPeerMetrics :: PeerMetrics m ntnAddr
- daBlockFetchMode :: STM m FetchMode
- run :: Tracers RemoteAddress NodeToNodeVersion LocalAddress NodeToClientVersion IO -> TracersExtra RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IOException IO -> Arguments Socket RemoteAddress LocalSocket LocalAddress -> ArgumentsExtra IO -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO -> ApplicationsExtra RemoteAddress IO -> IO Void
-
data
Interfaces
ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError m =
Interfaces
{
- diNtnSnocket :: Snocket m ntnFd ntnAddr
- diNtnHandshakeArguments :: HandshakeArguments ( ConnectionId ntnAddr) ntnVersion ntnVersionData m
- diNtnAddressType :: ntnAddr -> Maybe AddressType
- diNtnDataFlow :: ntnVersion -> ntnVersionData -> DataFlow
- diNtnToPeerAddr :: IP -> PortNumber -> ntnAddr
- diNtnDomainResolver :: LookupReqs -> [ DomainAccessPoint ] -> m ( Map DomainAccessPoint ( Set ntnAddr))
- diNtcSnocket :: Snocket m ntcFd ntcAddr
- diNtcHandshakeArguments :: HandshakeArguments ( ConnectionId ntcAddr) ntcVersion ntcVersionData m
- diNtcGetFileDescriptor :: ntcFd -> m FileDescriptor
- diRng :: StdGen
- diInstallSigUSR1Handler :: forall mode x. NodeToNodeConnectionManager mode ntnFd ntnAddr ntnVersion m x -> m ()
- diDnsActions :: LookupReqs -> DNSActions resolver resolverError m
- runM :: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError. ( MonadAsync m, MonadEvaluate m, MonadFix m, MonadFork m, MonadLabelledSTM m, MonadTraceSTM m, MonadMask m, MonadThrow ( STM m), MonadTime m, MonadTimer m, Eq ( Async m Void ), Typeable ntnAddr, Ord ntnAddr, Show ntnAddr, Typeable ntnVersion, Ord ntnVersion, Show ntnVersion, 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 ntnFd ntnAddr ntcFd ntcAddr -> ArgumentsExtra m -> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData m -> ApplicationsExtra ntnAddr m -> m Void
- type NodeToNodePeerConnectionHandle (mode :: MuxMode ) ntnAddr m a = PeerConnectionHandle mode ntnAddr ByteString m () a
- type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState
- type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr ( Maybe RemoteSt )
Documentation
data TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m Source #
P2P DiffusionTracers Extras
nullTracers :: Applicative m => TracersExtra ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData resolverError m Source #
data ArgumentsExtra m Source #
P2P Arguments Extras
ArgumentsExtra | |
|
data AcceptedConnectionsLimit Source #
Policy which governs how to limit the number of accepted connections.
AcceptedConnectionsLimit | |
|
Instances
data ApplicationsExtra ntnAddr m Source #
P2P Applications Extras
TODO: we need initiator only mode for Deadalus, 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 Socket RemoteAddress LocalSocket LocalAddress -> ArgumentsExtra IO -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO -> ApplicationsExtra RemoteAddress IO -> 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 Source #
Interfaces | |
|
:: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver resolverError. ( MonadAsync m, MonadEvaluate m, MonadFix m, MonadFork m, MonadLabelledSTM m, MonadTraceSTM m, MonadMask m, MonadThrow ( STM m), MonadTime m, MonadTimer m, Eq ( Async m Void ), Typeable ntnAddr, Ord ntnAddr, Show ntnAddr, Typeable ntnVersion, Ord ntnVersion, Show ntnVersion, 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 ntnFd ntnAddr ntcFd ntcAddr |
configuration |
-> ArgumentsExtra m |
p2p configuration |
-> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData m |
protocol handlers |
-> ApplicationsExtra ntnAddr m |
p2p protocol handlers |
-> m Void |
type NodeToNodePeerConnectionHandle (mode :: MuxMode ) ntnAddr m a = PeerConnectionHandle mode ntnAddr ByteString m () a Source #
type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState Source #
type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr ( Maybe RemoteSt ) Source #