ouroboros-network-0.10.1.0: A networking layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Network.Diffusion

Synopsis

Common API

data P2P Source #

Promoted data types.

Constructors

P2P 
NonP2P 

data DiffusionTracer ntnAddr ntcAddr Source #

The DiffusionTracer logs

  • diffusion initialisation messages
  • terminal errors thrown by diffusion

Instances

Instances details
(Show ntcAddr, Show ntnAddr) ⇒ Show (DiffusionTracer ntnAddr ntcAddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Common

Methods

showsPrecIntDiffusionTracer ntnAddr ntcAddr → ShowS #

showDiffusionTracer ntnAddr ntcAddr → String #

showList ∷ [DiffusionTracer ntnAddr ntcAddr] → ShowS #

data Tracers ntnAddr ntnVersion ntcAddr ntcVersion m Source #

Common DiffusionTracers interface between P2P and NonP2P

Constructors

Tracers 

Fields

nullTracersApplicative m ⇒ Tracers ntnAddr ntnVersion ntcAddr ntcVersion m Source #

data Failure where Source #

Constructors

UnsupportedReadySocketFailure 
UnexpectedIPv4Address ∷ ∀ ntnAddr. (Show ntnAddr, Typeable ntnAddr) ⇒ ntnAddr → Failure 
UnexpectedIPv6Address ∷ ∀ ntnAddr. (Show ntnAddr, Typeable ntnAddr) ⇒ ntnAddr → Failure 
NoSocketFailure 
DiffusionErrorSomeExceptionFailure 

data Arguments ntnFd ntnAddr ntcFd ntcAddr Source #

Common DiffusionArguments interface between P2P and NonP2P

Constructors

Arguments 

Fields

data ExtraArguments (p2p ∷ P2P) m where Source #

Diffusion arguments which depend on p2p mode.

data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData m a Source #

Versioned mini-protocol bundles run on a negotiated connection.

Constructors

Applications 

Fields

data ExtraApplications (p2p ∷ P2P) ntnAddr m a where Source #

Application data which depend on p2p mode.

Constructors

P2PApplicationsApplicationsExtra ntnAddr m a → ExtraApplications 'P2P ntnAddr m a 
NonP2PApplicationsApplicationsExtraExtraApplications 'NonP2P ntnAddr m a 

Run data diffusion

Re-exports