ouroboros-network-0.16.0.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 m 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

data PublicPeerSelectionState peeraddr Source #

Public PeerSelectionState that can be accessed by Peer Sharing mechanisms without any problem.

This data type should not expose too much information and keep only essential data needed for computing the peer sharing request result