Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ouroboros.Network.Diffusion
Synopsis
- data P2P
- data DiffusionTracer ntnAddr ntcAddr
- = RunServer (NonEmpty ntnAddr)
- | RunLocalServer ntcAddr
- | UsingSystemdSocket ntcAddr
- | CreateSystemdSocketForSnocketPath ntcAddr
- | CreatedLocalSocket ntcAddr
- | ConfiguringLocalSocket ntcAddr FileDescriptor
- | ListeningLocalSocket ntcAddr FileDescriptor
- | LocalSocketUp ntcAddr FileDescriptor
- | CreatingServerSocket ntnAddr
- | ConfiguringServerSocket ntnAddr
- | ListeningServerSocket ntnAddr
- | ServerSocketUp ntnAddr
- | UnsupportedLocalSystemdSocket ntnAddr
- | UnsupportedReadySocketCase
- | DiffusionErrored SomeException
- | SystemdSocketConfiguration SystemdSocketTracer
- data Tracers ntnAddr ntnVersion ntcAddr ntcVersion m = Tracers {
- dtMuxTracer ∷ Tracer m (WithMuxBearer (ConnectionId ntnAddr) MuxTrace)
- dtHandshakeTracer ∷ Tracer m (HandshakeTr ntnAddr ntnVersion)
- dtLocalMuxTracer ∷ Tracer m (WithMuxBearer (ConnectionId ntcAddr) MuxTrace)
- dtLocalHandshakeTracer ∷ Tracer m (HandshakeTr ntcAddr ntcVersion)
- dtDiffusionTracer ∷ Tracer m (DiffusionTracer ntnAddr ntcAddr)
- nullTracers ∷ Applicative m ⇒ Tracers ntnAddr ntnVersion ntcAddr ntcVersion m
- data ExtraTracers (p2p ∷ P2P) where
- data Failure where
- UnsupportedReadySocket ∷ Failure
- UnexpectedIPv4Address ∷ ∀ ntnAddr. (Show ntnAddr, Typeable ntnAddr) ⇒ ntnAddr → Failure
- UnexpectedIPv6Address ∷ ∀ ntnAddr. (Show ntnAddr, Typeable ntnAddr) ⇒ ntnAddr → Failure
- NoSocket ∷ Failure
- DiffusionError ∷ SomeException → Failure
- data Arguments ntnFd ntnAddr ntcFd ntcAddr = Arguments {
- daIPv4Address ∷ Maybe (Either ntnFd ntnAddr)
- daIPv6Address ∷ Maybe (Either ntnFd ntnAddr)
- daLocalAddress ∷ Maybe (Either ntcFd ntcAddr)
- daAcceptedConnectionsLimit ∷ AcceptedConnectionsLimit
- daMode ∷ DiffusionMode
- data ExtraArguments (p2p ∷ P2P) m where
- data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData m a = Applications {
- daApplicationInitiatorMode ∷ Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx InitiatorMode ntnAddr ByteString m a Void)
- daApplicationInitiatorResponderMode ∷ (PeerSharingAmount → m [ntnAddr]) → Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx InitiatorResponderMode ntnAddr ByteString m a ())
- daLocalResponderApplication ∷ Versions ntcVersion ntcVersionData (OuroborosApplicationWithMinimalCtx ResponderMode ntcAddr ByteString m Void ())
- daLedgerPeersCtx ∷ LedgerPeersConsensusInterface m
- data ExtraApplications (p2p ∷ P2P) ntnAddr m a where
- P2PApplications ∷ ApplicationsExtra ntnAddr m a → ExtraApplications 'P2P ntnAddr m a
- NonP2PApplications ∷ ApplicationsExtra → ExtraApplications 'NonP2P ntnAddr m a
- run ∷ ∀ (p2p ∷ P2P) a. Tracers RemoteAddress NodeToNodeVersion LocalAddress NodeToClientVersion IO → ExtraTracers p2p → Arguments Socket RemoteAddress LocalSocket LocalAddress → ExtraArguments p2p IO → Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO a → ExtraApplications p2p RemoteAddress IO a → IO ()
- type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState
Common API
data DiffusionTracer ntnAddr ntcAddr Source #
The DiffusionTracer
logs
- diffusion initialisation messages
- terminal errors thrown by diffusion
Constructors
RunServer (NonEmpty ntnAddr) | |
RunLocalServer ntcAddr | |
UsingSystemdSocket ntcAddr | |
CreateSystemdSocketForSnocketPath ntcAddr | |
CreatedLocalSocket ntcAddr | |
ConfiguringLocalSocket ntcAddr FileDescriptor | |
ListeningLocalSocket ntcAddr FileDescriptor | |
LocalSocketUp ntcAddr FileDescriptor | |
CreatingServerSocket ntnAddr | |
ConfiguringServerSocket ntnAddr | |
ListeningServerSocket ntnAddr | |
ServerSocketUp ntnAddr | |
UnsupportedLocalSystemdSocket ntnAddr | |
UnsupportedReadySocketCase | |
DiffusionErrored SomeException | |
SystemdSocketConfiguration SystemdSocketTracer |
Instances
(Show ntcAddr, Show ntnAddr) ⇒ Show (DiffusionTracer ntnAddr ntcAddr) Source # | |
Defined in Ouroboros.Network.Diffusion.Common Methods showsPrec ∷ Int → DiffusionTracer ntnAddr ntcAddr → ShowS # show ∷ DiffusionTracer 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
|
nullTracers ∷ Applicative m ⇒ Tracers ntnAddr ntnVersion ntcAddr ntcVersion m Source #
data ExtraTracers (p2p ∷ P2P) where Source #
Tracers which depend on p2p mode.
Constructors
UnsupportedReadySocket ∷ Failure | |
UnexpectedIPv4Address ∷ ∀ ntnAddr. (Show ntnAddr, Typeable ntnAddr) ⇒ ntnAddr → Failure | |
UnexpectedIPv6Address ∷ ∀ ntnAddr. (Show ntnAddr, Typeable ntnAddr) ⇒ ntnAddr → Failure | |
NoSocket ∷ Failure | |
DiffusionError ∷ SomeException → Failure |
Instances
Exception Failure Source # | |
Defined in Ouroboros.Network.Diffusion.Common | |
Show Failure Source # | |
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.
Constructors
P2PArguments ∷ ArgumentsExtra m → ExtraArguments 'P2P m | |
NonP2PArguments ∷ ArgumentsExtra → ExtraArguments 'NonP2P m |
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
P2PApplications ∷ ApplicationsExtra ntnAddr m a → ExtraApplications 'P2P ntnAddr m a | |
NonP2PApplications ∷ ApplicationsExtra → ExtraApplications 'NonP2P ntnAddr m a |
Run data diffusion
run ∷ ∀ (p2p ∷ P2P) a. Tracers RemoteAddress NodeToNodeVersion LocalAddress NodeToClientVersion IO → ExtraTracers p2p → Arguments Socket RemoteAddress LocalSocket LocalAddress → ExtraArguments p2p IO → Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO a → ExtraApplications p2p RemoteAddress IO a → IO () Source #
Re-exports
type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState Source #