| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.Diffusion.Types
Synopsis
- 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 Failure where
- 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 Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace (m :: Type -> Type) = Tracers {
- dtMuxTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) Trace)
- dtChannelTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) ChannelTrace)
- dtBearerTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) BearerTrace)
- dtHandshakeTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) (TraceSendRecv (Handshake ntnVersion Term)))
- dtLocalMuxTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) Trace)
- dtLocalChannelTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) ChannelTrace)
- dtLocalBearerTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) BearerTrace)
- dtLocalHandshakeTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) (TraceSendRecv (Handshake ntcVersion Term)))
- dtDiffusionTracer :: Tracer m (DiffusionTracer ntnAddr ntcAddr)
- dtTraceLocalRootPeersTracer :: Tracer m (TraceLocalRootPeers extraFlags ntnAddr)
- dtTracePublicRootPeersTracer :: Tracer m TracePublicRootPeers
- dtTraceLedgerPeersTracer :: Tracer m TraceLedgerPeers
- dtTracePeerSelectionTracer :: Tracer m (TracePeerSelection extraDebugState extraFlags extraPeers extraTrace ntnAddr)
- dtDebugPeerSelectionInitiatorTracer :: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
- dtDebugPeerSelectionInitiatorResponderTracer :: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
- dtTracePeerSelectionCounters :: Tracer m (PeerSelectionCounters extraCounters)
- dtTraceChurnCounters :: Tracer m ChurnCounters
- dtPeerSelectionActionsTracer :: Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
- dtConnectionManagerTracer :: Tracer m (Trace ntnAddr (ConnectionHandlerTrace ntnVersion ntnVersionData))
- dtConnectionManagerTransitionTracer :: Tracer m (AbstractTransitionTrace ConnStateId)
- dtServerTracer :: Tracer m (Trace ntnAddr)
- dtInboundGovernorTracer :: Tracer m (Trace ntnAddr)
- dtInboundGovernorTransitionTracer :: Tracer m (RemoteTransitionTrace ntnAddr)
- dtDnsTracer :: Tracer m DNSTrace
- dtLocalConnectionManagerTracer :: Tracer m (Trace ntcAddr (ConnectionHandlerTrace ntcVersion ntcVersionData))
- dtLocalServerTracer :: Tracer m (Trace ntcAddr)
- dtLocalInboundGovernorTracer :: Tracer m (Trace ntcAddr)
- nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace m
- data Configuration extraFlags (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr = Configuration {
- dcIPv4Address :: Maybe (Either ntnFd ntnAddr)
- dcIPv6Address :: Maybe (Either ntnFd ntnAddr)
- dcLocalAddress :: Maybe (Either ntcFd ntcAddr)
- dcAcceptedConnectionsLimit :: AcceptedConnectionsLimit
- dcMode :: DiffusionMode
- dcPublicPeerSelectionVar :: StrictTVar m (PublicPeerSelectionState ntnAddr)
- dcPeerSelectionTargets :: PeerSelectionTargets
- dcReadLocalRootPeers :: STM m (Config extraFlags RelayAccessPoint)
- dcReadPublicRootPeers :: STM m (Map RelayAccessPoint PeerAdvertise)
- dcReadLedgerPeerSnapshot :: STM m (Maybe LedgerPeerSnapshot)
- dcReadUseLedgerPeers :: STM m UseLedgerPeers
- dcPeerSharing :: PeerSharing
- dcProtocolIdleTimeout :: DiffTime
- dcTimeWaitTimeout :: DiffTime
- dcDeadlineChurnInterval :: DiffTime
- dcBulkChurnInterval :: DiffTime
- dcMuxForkPolicy :: ForkPolicy ntnAddr
- dcLocalMuxForkPolicy :: ForkPolicy ntcAddr
- dcEgressPollInterval :: DiffTime
- data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData (m :: Type -> Type) a = Applications {
- daApplicationInitiatorMode :: Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx 'InitiatorMode ntnAddr ByteString m a Void)
- daApplicationInitiatorResponderMode :: Versions ntnVersion ntnVersionData (OuroborosBundleWithExpandedCtx 'InitiatorResponderMode ntnAddr ByteString m a ())
- daLocalResponderApplication :: Versions ntcVersion ntcVersionData (OuroborosApplicationWithMinimalCtx 'ResponderMode ntcAddr ByteString m Void ())
- daRethrowPolicy :: RethrowPolicy
- daReturnPolicy :: ReturnPolicy a
- daRepromoteErrorDelay :: RepromoteDelay
- daLocalRethrowPolicy :: RethrowPolicy
- daPeerSelectionPolicy :: PeerSelectionPolicy ntnAddr m
- daPeerSharingRegistry :: PeerSharingRegistry ntnAddr m
- data Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters extraTrace exception resolver (m :: Type -> Type) ntnFd ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData = Arguments {
- daNtnDataFlow :: ntnVersionData -> DataFlow
- daNtnPeerSharing :: ntnVersionData -> PeerSharing
- daUpdateVersionData :: ntnVersionData -> DiffusionMode -> ntnVersionData
- daNtnHandshakeArguments :: HandshakeArguments (ConnectionId ntnAddr) ntnVersion ntnVersionData m
- daNtcHandshakeArguments :: HandshakeArguments (ConnectionId ntcAddr) ntcVersion ntcVersionData m
- daLedgerPeersCtx :: LedgerPeersConsensusInterface extraAPI m
- daEmptyExtraState :: extraState
- daEmptyExtraCounters :: extraCounters
- daExtraPeersAPI :: PublicExtraPeersAPI extraPeers ntnAddr
- daInstallSigUSR1Handler :: forall (mode :: Mode) x y. NodeToNodeConnectionManager mode ntnFd ntnAddr ntnVersionData ntnVersion m x y -> StrictTVar m (PeerSelectionState extraState extraFlags extraPeers ntnAddr (NodeToNodePeerConnectionHandle mode ntnAddr ntnVersionData m x y)) -> m ()
- daPeerSelectionGovernorArgs :: forall (muxMode :: Mode) responderCtx bytes a b. PeerSelectionGovernorArgs extraState extraDebugState extraFlags extraPeers extraAPI extraCounters extraTrace ntnAddr (PeerConnectionHandle muxMode responderCtx ntnAddr ntnVersionData bytes m a b) exception m
- daPeerSelectionStateToExtraCounters :: forall (muxMode :: Mode) responderCtx bytes a b. PeerSelectionState extraState extraFlags extraPeers ntnAddr (PeerConnectionHandle muxMode responderCtx ntnAddr ntnVersionData bytes m a b) -> extraCounters
- daToExtraPeers :: Map ntnAddr PeerAdvertise -> extraPeers
- daRequestPublicRootPeers :: Maybe (PeerActionsDNS ntnAddr resolver m -> DNSSemaphore m -> (Map ntnAddr PeerAdvertise -> extraPeers) -> (NumberOfPeers -> LedgerPeersKind -> m (Maybe (Set ntnAddr, DiffTime))) -> LedgerPeersKind -> StdGen -> Int -> m (PublicRootPeers extraPeers ntnAddr, DiffTime))
- daPeerChurnGovernor :: PeerChurnArgs m extraChurnArgs extraDebugState extraFlags extraPeers extraAPI extraCounters extraTrace ntnAddr -> m Void
- daExtraChurnArgs :: extraChurnArgs
- daSRVPrefix :: SRVPrefix
- data Interfaces ntnFd ntnAddr ntcFd ntcAddr resolver (m :: Type -> Type) = Interfaces {
- diNtnSnocket :: Snocket m ntnFd ntnAddr
- diNtnBearer :: MakeBearer m ntnFd
- diWithBuffer :: (Maybe (ReadBuffer m) -> m ()) -> m ()
- diNtnConfigureSocket :: ntnFd -> Maybe ntnAddr -> m ()
- diNtnConfigureSystemdSocket :: ntnFd -> ntnAddr -> m ()
- diNtnAddressType :: ntnAddr -> Maybe AddressType
- diNtnToPeerAddr :: IP -> PortNumber -> ntnAddr
- diNtcSnocket :: Snocket m ntcFd ntcAddr
- diNtcBearer :: MakeBearer m ntcFd
- diNtcGetFileDescriptor :: ntcFd -> m FileDescriptor
- diRng :: StdGen
- diDnsActions :: Tracer m DNSTrace -> DNSLookupType -> (IP -> PortNumber -> ntnAddr) -> DNSActions ntnAddr resolver m
- diConnStateIdSupply :: ConnStateIdSupply m
- data ForkPolicy peerAddr
- noBindForkPolicy :: ForkPolicy peerAddr
- responderForkPolicy :: Hashable peerAddr => Int -> Int -> ForkPolicy peerAddr
- type NodeToClientHandle ntcAddr versionData (m :: Type -> Type) = HandleWithMinimalCtx 'ResponderMode ntcAddr versionData ByteString m Void ()
- type NodeToClientHandleError ntcVersion = HandlerError ntcVersion
- type NodeToClientHandlerError ntcVersion = HandlerError ntcVersion
- type MkNodeToClientConnectionHandler ntcFd ntcAddr ntcVersion ntcVersionData (m :: Type -> Type) = (StrictTVar m (StrictMaybe ResponderCounters) -> Tracer m (WithBearer (ConnectionId ntcAddr) Trace)) -> ConnectionHandler 'ResponderMode (ConnectionHandlerTrace ntcVersion ntcVersionData) ntcFd ntcAddr (NodeToClientHandle ntcAddr ntcVersionData m) (NodeToClientHandlerError ntcVersion) ntcVersion ntcVersionData m
- type NodeToNodeHandle (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = HandleWithExpandedCtx mode ntnAddr ntnVersionData ByteString m a b
- type NodeToNodeConnectionManager (mode :: Mode) ntnFd ntnAddr ntnVersionData ntnVersion (m :: Type -> Type) a b = ConnectionManager mode ntnFd ntnAddr (NodeToNodeHandle mode ntnAddr ntnVersionData m a b) (HandlerError ntnVersion) m
- type NodeToNodePeerConnectionHandle (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerConnectionHandle mode (ResponderContext ntnAddr) ntnAddr ntnVersionData ByteString m a b
- type NodeToNodePeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters ntnAddr (NodeToNodePeerConnectionHandle mode ntnAddr ntnVersionData m a b) m
- type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState
- type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt)
- type SRVPrefix = Domain
- data DiffusionMode
Documentation
data DiffusionTracer ntnAddr ntcAddr Source #
The DiffusionTracer logs
- diffusion initialisation messages
- terminal errors thrown by diffusion
TODO: rename as DiffusionTrace
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.Types Methods showsPrec :: Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS # show :: DiffusionTracer ntnAddr ntcAddr -> String # showList :: [DiffusionTracer ntnAddr ntcAddr] -> ShowS # | |
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 |
Instances
| Exception Failure Source # | |
Defined in Ouroboros.Network.Diffusion.Types Methods toException :: Failure -> SomeException # fromException :: SomeException -> Maybe Failure # displayException :: Failure -> String # backtraceDesired :: Failure -> Bool # | |
| Show Failure Source # | |
data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace (m :: Type -> Type) Source #
Diffusion Tracers
Constructors
| Tracers | |
Fields
| |
nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace m Source #
data Configuration extraFlags (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr Source #
Required Diffusion Arguments to run network layer
Constructors
| Configuration | |
Fields
| |
data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData (m :: Type -> Type) a Source #
Versioned mini-protocol bundles run on a negotiated connection.
Constructors
| Applications | |
Fields
| |
data Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs extraCounters extraTrace exception resolver (m :: Type -> Type) ntnFd ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData Source #
Diffusion arguments which allow to instantiate a completely different diffusion layer. These differ from
Constructors
| Arguments | |
Fields
| |
data Interfaces ntnFd ntnAddr ntcFd ntcAddr resolver (m :: Type -> Type) Source #
Constructors
| Interfaces | |
Fields
| |
ForkPolicy
data ForkPolicy peerAddr #
noBindForkPolicy :: ForkPolicy peerAddr #
responderForkPolicy :: Hashable peerAddr => Int -> Int -> ForkPolicy peerAddr #
NodeToClient type aliases
type NodeToClientHandle ntcAddr versionData (m :: Type -> Type) = HandleWithMinimalCtx 'ResponderMode ntcAddr versionData ByteString m Void () Source #
type NodeToClientHandleError ntcVersion = HandlerError ntcVersion Source #
Deprecated: Use NodeToClientHandlerError
type NodeToClientHandlerError ntcVersion = HandlerError ntcVersion Source #
type MkNodeToClientConnectionHandler ntcFd ntcAddr ntcVersion ntcVersionData (m :: Type -> Type) = (StrictTVar m (StrictMaybe ResponderCounters) -> Tracer m (WithBearer (ConnectionId ntcAddr) Trace)) -> ConnectionHandler 'ResponderMode (ConnectionHandlerTrace ntcVersion ntcVersionData) ntcFd ntcAddr (NodeToClientHandle ntcAddr ntcVersionData m) (NodeToClientHandlerError ntcVersion) ntcVersion ntcVersionData m Source #
NodeToNode type aliases
type NodeToNodeHandle (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = HandleWithExpandedCtx mode ntnAddr ntnVersionData ByteString m a b Source #
type NodeToNodeConnectionManager (mode :: Mode) ntnFd ntnAddr ntnVersionData ntnVersion (m :: Type -> Type) a b = ConnectionManager mode ntnFd ntnAddr (NodeToNodeHandle mode ntnAddr ntnVersionData m a b) (HandlerError ntnVersion) m Source #
type NodeToNodePeerConnectionHandle (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerConnectionHandle mode (ResponderContext ntnAddr) ntnAddr ntnVersionData ByteString m a b Source #
type NodeToNodePeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters ntnAddr (NodeToNodePeerConnectionHandle mode ntnAddr ntnVersionData m a b) m Source #
Re-exports
type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState #
type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt) #
data DiffusionMode #
Instances
| Show DiffusionMode | |
Defined in Ouroboros.Network.DiffusionMode Methods showsPrec :: Int -> DiffusionMode -> ShowS # show :: DiffusionMode -> String # showList :: [DiffusionMode] -> ShowS # | |
| Eq DiffusionMode | |
Defined in Ouroboros.Network.DiffusionMode Methods (==) :: DiffusionMode -> DiffusionMode -> Bool # (/=) :: DiffusionMode -> DiffusionMode -> Bool # | |
| Ord DiffusionMode | |
Defined in Ouroboros.Network.DiffusionMode Methods compare :: DiffusionMode -> DiffusionMode -> Ordering # (<) :: DiffusionMode -> DiffusionMode -> Bool # (<=) :: DiffusionMode -> DiffusionMode -> Bool # (>) :: DiffusionMode -> DiffusionMode -> Bool # (>=) :: DiffusionMode -> DiffusionMode -> Bool # max :: DiffusionMode -> DiffusionMode -> DiffusionMode # min :: DiffusionMode -> DiffusionMode -> DiffusionMode # | |