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 ntnAddr, Show ntcAddr) => Show (DiffusionTracer ntnAddr ntcAddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Common

Methods

showsPrec :: Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS Source #

show :: DiffusionTracer ntnAddr ntcAddr -> String Source #

showList :: [DiffusionTracer ntnAddr ntcAddr] -> ShowS Source #

data Tracers ntnAddr ntnVersion ntcAddr ntcVersion m Source #

Common DiffusionTracers interface between P2P and NonP2P

Constructors

Tracers 

Fields

nullTracers :: Applicative m => Tracers ntnAddr ntnVersion ntcAddr ntcVersion m Source #

data Failure where Source #

Constructors

UnsupportedReadySocket :: Failure 
UnexpectedIPv4Address :: forall ntnAddr. (Show ntnAddr, Typeable ntnAddr) => ntnAddr -> Failure 
UnexpectedIPv6Address :: forall ntnAddr. (Show ntnAddr, Typeable ntnAddr) => ntnAddr -> Failure 
NoSocket :: Failure 
DiffusionError :: SomeException -> Failure 

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.

Run data diffusion

Re-exports

type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState #