| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.Diffusion
Description
This module is expected to be imported qualified.
Synopsis
- run :: (Monoid extraPeers, Eq extraFlags, Exception exception, NFData ntnVersion, Typeable ntnVersion, Ord ntnVersion, PrettyShow ntnVersion, NFData ntnVersionData, PrettyShow ntnVersionData, NFData ntcVersion, Ord ntcVersion, NFData ntcVersionData, NFData a, SupportsPeerSelectionState extraPeers RemoteAddress) => Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs exception Resolver IO Socket RemoteAddress ntnVersion ntnVersionData LocalAddress ntcVersion ntcVersionData -> Tracers RemoteAddress ntnVersion ntnVersionData LocalAddress ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers IO -> Configuration extraFlags IO Socket RemoteAddress LocalSocket LocalAddress -> Applications RemoteAddress ntnVersion ntnVersionData LocalAddress ntcVersion ntcVersionData extraFlags IO a -> IO Void
- runM :: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver exception a extraState extraDebugState extraPeers extraAPI extraFlags extraChurnArgs. (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, Hashable ntnAddr, PrettyShow ntnAddr, NFData ntnVersion, Typeable ntnVersion, Ord ntnVersion, Show ntnVersion, NFData ntnVersionData, Show ntnVersionData, Typeable ntcAddr, Ord ntcAddr, PrettyShow ntcAddr, NFData ntcVersion, Ord ntcVersion, NFData ntcVersionData, Monoid extraPeers, Eq extraFlags, Exception exception, NFData a, SupportsPeerSelectionState extraPeers ntnAddr) => Interfaces ntnFd ntnAddr ntcFd ntcAddr resolver m -> Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers m -> Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs exception resolver m ntnFd ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData -> Configuration extraFlags m ntnFd ntnAddr ntcFd ntcAddr -> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraFlags m a -> m Void
- mkInterfaces :: IOManager -> Tracer IO (DiffusionTracer ntnAddr ntcAddr) -> DiffTime -> IO (Interfaces Socket RemoteAddress LocalSocket LocalAddress Resolver IO)
- socketAddressType :: SockAddr -> Maybe AddressType
- module Ouroboros.Network.Diffusion.Types
Documentation
run :: (Monoid extraPeers, Eq extraFlags, Exception exception, NFData ntnVersion, Typeable ntnVersion, Ord ntnVersion, PrettyShow ntnVersion, NFData ntnVersionData, PrettyShow ntnVersionData, NFData ntcVersion, Ord ntcVersion, NFData ntcVersionData, NFData a, SupportsPeerSelectionState extraPeers RemoteAddress) => Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs exception Resolver IO Socket RemoteAddress ntnVersion ntnVersionData LocalAddress ntcVersion ntcVersionData -> Tracers RemoteAddress ntnVersion ntnVersionData LocalAddress ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers IO -> Configuration extraFlags IO Socket RemoteAddress LocalSocket LocalAddress -> Applications RemoteAddress ntnVersion ntnVersionData LocalAddress ntcVersion ntcVersionData extraFlags 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.
Arguments
| :: forall m ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr ntcVersion ntcVersionData resolver exception a extraState extraDebugState extraPeers extraAPI extraFlags extraChurnArgs. (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, Hashable ntnAddr, PrettyShow ntnAddr, NFData ntnVersion, Typeable ntnVersion, Ord ntnVersion, Show ntnVersion, NFData ntnVersionData, Show ntnVersionData, Typeable ntcAddr, Ord ntcAddr, PrettyShow ntcAddr, NFData ntcVersion, Ord ntcVersion, NFData ntcVersionData, Monoid extraPeers, Eq extraFlags, Exception exception, NFData a, SupportsPeerSelectionState extraPeers ntnAddr) | |
| => Interfaces ntnFd ntnAddr ntcFd ntcAddr resolver m | interfaces |
| -> Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers m | tracers |
| -> Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs exception resolver m ntnFd ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData | arguments |
| -> Configuration extraFlags m ntnFd ntnAddr ntcFd ntcAddr | configuration |
| -> Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraFlags m a | protocol handlers |
| -> m Void |
mkInterfaces :: IOManager -> Tracer IO (DiffusionTracer ntnAddr ntcAddr) -> DiffTime -> IO (Interfaces Socket RemoteAddress LocalSocket LocalAddress Resolver IO) Source #
socketAddressType :: SockAddr -> Maybe AddressType Source #