ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Diffusion

Contents

Description

This module is expected to be imported qualified (it will clash with the Ouroboros.Network.Diffusion.NonP2P).

Synopsis

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

Tracers 

Fields

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

runM Source #

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