ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Diffusion

Description

This module is expected to be imported qualified.

Synopsis

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.

runM Source #

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 #