{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE StandaloneDeriving #-}
module Ouroboros.Network.Diffusion.Types
( DiffusionTracer (..)
, Failure (..)
, Tracers (..)
, nullTracers
, Arguments (..)
, Applications (..)
, Interfaces (..)
, Mx.ForkPolicy
, Mx.noBindForkPolicy
, Mx.responderForkPolicy
, NodeToClientHandle
, NodeToClientHandleError
, NodeToClientConnectionHandler
, NodeToClientConnectionManagerArguments
, NodeToNodeHandle
, NodeToNodeConnectionManager
, NodeToNodePeerConnectionHandle
, NodeToNodePeerSelectionActions
, AbstractTransitionTrace
, IG.RemoteTransitionTrace
) where
import Control.Concurrent.Class.MonadSTM.Strict
import Control.Exception (Exception, SomeException)
import Control.Monad.Class.MonadTimer.SI
import Control.Tracer (Tracer, nullTracer)
import Data.ByteString.Lazy (ByteString)
import Data.IP (IP)
import Data.List.NonEmpty (NonEmpty)
import Data.Map (Map)
import Data.Set (Set)
import Data.Typeable (Typeable)
import Data.Void (Void)
import System.Random (StdGen)
import Network.Mux qualified as Mx
import Network.Socket qualified as Socket
import Ouroboros.Network.Mux (OuroborosApplicationWithMinimalCtx,
OuroborosBundleWithExpandedCtx)
import Ouroboros.Network.BlockFetch
import Ouroboros.Network.PeerSharing (PeerSharingRegistry (..))
import Ouroboros.Network.ConnectionHandler
import Ouroboros.Network.ConnectionManager.Core qualified as CM
import Ouroboros.Network.ConnectionManager.State qualified as CM
import Ouroboros.Network.ConnectionManager.Types
import Ouroboros.Network.Context
import Ouroboros.Network.ExitPolicy
import Ouroboros.Network.InboundGovernor qualified as IG
import Ouroboros.Network.Mux qualified as Mx
import Ouroboros.Network.Protocol.Handshake (HandshakeArguments, Versions)
import Ouroboros.Network.RethrowPolicy
import Ouroboros.Network.Server qualified as Server
import Ouroboros.Network.Snocket (FileDescriptor, Snocket)
import Ouroboros.Network.Socket (SystemdSocketTracer)
import Ouroboros.Network.NodeToClient qualified as NodeToClient
import Ouroboros.Network.NodeToNode (AcceptedConnectionsLimit, DiffusionMode)
import Ouroboros.Network.NodeToNode qualified as NodeToNode
import Ouroboros.Network.PeerSelection.Churn qualified as Governor
import Ouroboros.Network.PeerSelection.Governor.Types
import Ouroboros.Network.PeerSelection.LedgerPeers (LedgerPeerSnapshot,
LedgerPeersConsensusInterface (..), LedgerPeersKind, NumberOfPeers,
TraceLedgerPeers, UseLedgerPeers)
import Ouroboros.Network.PeerSelection.PeerAdvertise
import Ouroboros.Network.PeerSelection.PeerMetric (PeerMetrics)
import Ouroboros.Network.PeerSelection.PeerSharing (PeerSharing (..))
import Ouroboros.Network.PeerSelection.PeerStateActions (PeerConnectionHandle,
PeerSelectionActionsTrace)
import Ouroboros.Network.PeerSelection.PublicRootPeers (PublicRootPeers)
import Ouroboros.Network.PeerSelection.RelayAccessPoint (RelayAccessPoint)
import Ouroboros.Network.PeerSelection.RootPeersDNS (PeerActionsDNS)
import Ouroboros.Network.PeerSelection.RootPeersDNS.DNSActions
import Ouroboros.Network.PeerSelection.RootPeersDNS.DNSSemaphore
import Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
(TraceLocalRootPeers)
import Ouroboros.Network.PeerSelection.RootPeersDNS.PublicRootPeers
(TracePublicRootPeers)
import Ouroboros.Network.PeerSelection.State.LocalRootPeers qualified as LocalRootPeers
import Ouroboros.Network.PeerSelection.Types (PublicExtraPeersAPI)
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
deriving Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS
[DiffusionTracer ntnAddr ntcAddr] -> ShowS
DiffusionTracer ntnAddr ntcAddr -> String
(Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS)
-> (DiffusionTracer ntnAddr ntcAddr -> String)
-> ([DiffusionTracer ntnAddr ntcAddr] -> ShowS)
-> Show (DiffusionTracer ntnAddr ntcAddr)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall ntnAddr ntcAddr.
(Show ntcAddr, Show ntnAddr) =>
Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS
forall ntnAddr ntcAddr.
(Show ntcAddr, Show ntnAddr) =>
[DiffusionTracer ntnAddr ntcAddr] -> ShowS
forall ntnAddr ntcAddr.
(Show ntcAddr, Show ntnAddr) =>
DiffusionTracer ntnAddr ntcAddr -> String
$cshowsPrec :: forall ntnAddr ntcAddr.
(Show ntcAddr, Show ntnAddr) =>
Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS
showsPrec :: Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS
$cshow :: forall ntnAddr ntcAddr.
(Show ntcAddr, Show ntnAddr) =>
DiffusionTracer ntnAddr ntcAddr -> String
show :: DiffusionTracer ntnAddr ntcAddr -> String
$cshowList :: forall ntnAddr ntcAddr.
(Show ntcAddr, Show ntnAddr) =>
[DiffusionTracer ntnAddr ntcAddr] -> ShowS
showList :: [DiffusionTracer ntnAddr ntcAddr] -> ShowS
Show
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
deriving instance Show Failure
instance Exception Failure
data Tracers ntnAddr ntnVersion ntnVersionData
ntcAddr ntcVersion ntcVersionData
resolverError extraState extraDebugState
extraFlags extraPeers extraCounters m = Tracers {
forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (WithBearer (ConnectionId ntnAddr) Trace)
dtMuxTracer
:: Tracer m (Mx.WithBearer (ConnectionId ntnAddr) Mx.Trace)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (HandshakeTr ntnAddr ntnVersion)
dtHandshakeTracer
:: Tracer m (NodeToNode.HandshakeTr ntnAddr ntnVersion)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (WithBearer (ConnectionId ntcAddr) Trace)
dtLocalMuxTracer
:: Tracer m (Mx.WithBearer (ConnectionId ntcAddr) Mx.Trace)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (HandshakeTr ntcAddr ntcVersion)
dtLocalHandshakeTracer
:: Tracer m (NodeToClient.HandshakeTr ntcAddr ntcVersion)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (DiffusionTracer ntnAddr ntcAddr)
dtDiffusionTracer
:: Tracer m (DiffusionTracer ntnAddr ntcAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (TraceLocalRootPeers extraFlags ntnAddr resolverError)
dtTraceLocalRootPeersTracer
:: Tracer m (TraceLocalRootPeers extraFlags ntnAddr resolverError)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m TracePublicRootPeers
dtTracePublicRootPeersTracer
:: Tracer m TracePublicRootPeers
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m TraceLedgerPeers
dtTraceLedgerPeersTracer
:: Tracer m TraceLedgerPeers
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer
m
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
dtTracePeerSelectionTracer
:: Tracer m (TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer
m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
dtDebugPeerSelectionInitiatorTracer
:: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer
m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
dtDebugPeerSelectionInitiatorResponderTracer
:: Tracer m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (PeerSelectionCounters extraCounters)
dtTracePeerSelectionCounters
:: Tracer m (PeerSelectionCounters extraCounters)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m ChurnCounters
dtTraceChurnCounters
:: Tracer m Governor.ChurnCounters
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
dtPeerSelectionActionsTracer
:: Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer
m
(Trace ntnAddr (ConnectionHandlerTrace ntnVersion ntnVersionData))
dtConnectionManagerTracer
:: Tracer m (CM.Trace
ntnAddr
(ConnectionHandlerTrace
ntnVersion
ntnVersionData))
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (AbstractTransitionTrace ConnStateId)
dtConnectionManagerTransitionTracer
:: Tracer m (AbstractTransitionTrace CM.ConnStateId)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (Trace ntnAddr)
dtServerTracer
:: Tracer m (Server.Trace ntnAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (Trace ntnAddr)
dtInboundGovernorTracer
:: Tracer m (IG.Trace ntnAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (RemoteTransitionTrace ntnAddr)
dtInboundGovernorTransitionTracer
:: Tracer m (IG.RemoteTransitionTrace ntnAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer
m
(Trace ntcAddr (ConnectionHandlerTrace ntcVersion ntcVersionData))
dtLocalConnectionManagerTracer
:: Tracer m (CM.Trace
ntcAddr
(ConnectionHandlerTrace
ntcVersion
ntcVersionData))
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (Trace ntcAddr)
dtLocalServerTracer
:: Tracer m (Server.Trace ntcAddr)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData resolverError extraState extraDebugState extraFlags
extraPeers extraCounters (m :: * -> *).
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
-> Tracer m (Trace ntcAddr)
dtLocalInboundGovernorTracer
:: Tracer m (IG.Trace ntcAddr)
}
nullTracers :: Applicative m
=> Tracers ntnAddr ntnVersion ntnVersionData
ntcAddr ntcVersion ntcVersionData
resolverError extraState extraDebugState
extraFlags extraPeers extraCounters m
nullTracers :: forall (m :: * -> *) ntnAddr ntnVersion ntnVersionData ntcAddr
ntcVersion ntcVersionData resolverError extraState extraDebugState
extraFlags extraPeers extraCounters.
Applicative m =>
Tracers
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
resolverError
extraState
extraDebugState
extraFlags
extraPeers
extraCounters
m
nullTracers = Tracers {
dtMuxTracer :: Tracer m (WithBearer (ConnectionId ntnAddr) Trace)
dtMuxTracer = Tracer m (WithBearer (ConnectionId ntnAddr) Trace)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtHandshakeTracer :: Tracer m (HandshakeTr ntnAddr ntnVersion)
dtHandshakeTracer = Tracer m (HandshakeTr ntnAddr ntnVersion)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtLocalMuxTracer :: Tracer m (WithBearer (ConnectionId ntcAddr) Trace)
dtLocalMuxTracer = Tracer m (WithBearer (ConnectionId ntcAddr) Trace)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtLocalHandshakeTracer :: Tracer m (HandshakeTr ntcAddr ntcVersion)
dtLocalHandshakeTracer = Tracer m (HandshakeTr ntcAddr ntcVersion)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtDiffusionTracer :: Tracer m (DiffusionTracer ntnAddr ntcAddr)
dtDiffusionTracer = Tracer m (DiffusionTracer ntnAddr ntcAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtTraceLocalRootPeersTracer :: Tracer m (TraceLocalRootPeers extraFlags ntnAddr resolverError)
dtTraceLocalRootPeersTracer = Tracer m (TraceLocalRootPeers extraFlags ntnAddr resolverError)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtTracePublicRootPeersTracer :: Tracer m TracePublicRootPeers
dtTracePublicRootPeersTracer = Tracer m TracePublicRootPeers
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtTraceLedgerPeersTracer :: Tracer m TraceLedgerPeers
dtTraceLedgerPeersTracer = Tracer m TraceLedgerPeers
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtTracePeerSelectionTracer :: Tracer
m
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
dtTracePeerSelectionTracer = Tracer
m
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtTraceChurnCounters :: Tracer m ChurnCounters
dtTraceChurnCounters = Tracer m ChurnCounters
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtDebugPeerSelectionInitiatorTracer :: Tracer
m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
dtDebugPeerSelectionInitiatorTracer = Tracer
m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtDebugPeerSelectionInitiatorResponderTracer :: Tracer
m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
dtDebugPeerSelectionInitiatorResponderTracer = Tracer
m (DebugPeerSelection extraState extraFlags extraPeers ntnAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtTracePeerSelectionCounters :: Tracer m (PeerSelectionCounters extraCounters)
dtTracePeerSelectionCounters = Tracer m (PeerSelectionCounters extraCounters)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtPeerSelectionActionsTracer :: Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
dtPeerSelectionActionsTracer = Tracer m (PeerSelectionActionsTrace ntnAddr ntnVersion)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtConnectionManagerTracer :: Tracer
m
(Trace ntnAddr (ConnectionHandlerTrace ntnVersion ntnVersionData))
dtConnectionManagerTracer = Tracer
m
(Trace ntnAddr (ConnectionHandlerTrace ntnVersion ntnVersionData))
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtConnectionManagerTransitionTracer :: Tracer m (AbstractTransitionTrace ConnStateId)
dtConnectionManagerTransitionTracer = Tracer m (AbstractTransitionTrace ConnStateId)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtServerTracer :: Tracer m (Trace ntnAddr)
dtServerTracer = Tracer m (Trace ntnAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtInboundGovernorTracer :: Tracer m (Trace ntnAddr)
dtInboundGovernorTracer = Tracer m (Trace ntnAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtInboundGovernorTransitionTracer :: Tracer m (RemoteTransitionTrace ntnAddr)
dtInboundGovernorTransitionTracer = Tracer m (RemoteTransitionTrace ntnAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtLocalConnectionManagerTracer :: Tracer
m
(Trace ntcAddr (ConnectionHandlerTrace ntcVersion ntcVersionData))
dtLocalConnectionManagerTracer = Tracer
m
(Trace ntcAddr (ConnectionHandlerTrace ntcVersion ntcVersionData))
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtLocalServerTracer :: Tracer m (Trace ntcAddr)
dtLocalServerTracer = Tracer m (Trace ntcAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
, dtLocalInboundGovernorTracer :: Tracer m (Trace ntcAddr)
dtLocalInboundGovernorTracer = Tracer m (Trace ntcAddr)
forall (m :: * -> *) a. Applicative m => Tracer m a
nullTracer
}
data Arguments extraState extraDebugState extraFlags extraPeers
extraAPI extraChurnArgs extraCounters exception
resolver resolverError
m ntnFd ntnAddr ntcFd ntcAddr = Arguments {
forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> Maybe (Either ntnFd ntnAddr)
daIPv4Address :: Maybe (Either ntnFd ntnAddr)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> Maybe (Either ntnFd ntnAddr)
daIPv6Address :: Maybe (Either ntnFd ntnAddr)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> Maybe (Either ntcFd ntcAddr)
daLocalAddress :: Maybe (Either ntcFd ntcAddr)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> AcceptedConnectionsLimit
daAcceptedConnectionsLimit :: AcceptedConnectionsLimit
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> DiffusionMode
daMode :: DiffusionMode
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> StrictTVar m (PublicPeerSelectionState ntnAddr)
daPublicPeerSelectionVar :: StrictTVar m (PublicPeerSelectionState ntnAddr)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> PeerSelectionTargets
daPeerSelectionTargets :: PeerSelectionTargets
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> STM m (Config extraFlags RelayAccessPoint)
daReadLocalRootPeers :: STM m (LocalRootPeers.Config extraFlags RelayAccessPoint)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> STM m (Map RelayAccessPoint PeerAdvertise)
daReadPublicRootPeers :: STM m (Map RelayAccessPoint PeerAdvertise)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> STM m (Maybe LedgerPeerSnapshot)
daReadLedgerPeerSnapshot :: STM m (Maybe LedgerPeerSnapshot)
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> PeerSharing
daOwnPeerSharing :: PeerSharing
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> STM m UseLedgerPeers
daReadUseLedgerPeers :: STM m UseLedgerPeers
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> DiffTime
daProtocolIdleTimeout :: DiffTime
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> DiffTime
daTimeWaitTimeout :: DiffTime
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> DiffTime
daDeadlineChurnInterval :: DiffTime
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> DiffTime
daBulkChurnInterval :: DiffTime
, :: extraState
, :: extraCounters
, :: PublicExtraPeersAPI extraPeers ntnAddr
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> forall (muxMode :: Mode) responderCtx ntnVersionData bytes a b.
PeerSelectionGovernorArgs
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraCounters
ntnAddr
(PeerConnectionHandle
muxMode responderCtx ntnAddr ntnVersionData bytes m a b)
exception
m
daPeerSelectionGovernorArgs
:: forall muxMode responderCtx ntnVersionData bytes a b .
PeerSelectionGovernorArgs extraState extraDebugState extraFlags extraPeers
extraAPI extraCounters
ntnAddr (PeerConnectionHandle
muxMode responderCtx ntnAddr
ntnVersionData bytes m a b)
exception m
,
:: forall muxMode responderCtx ntnVersionData bytes a b .
PeerSelectionState extraState extraFlags extraPeers
ntnAddr (PeerConnectionHandle
muxMode responderCtx ntnAddr
ntnVersionData bytes m a b)
-> extraCounters
, :: Map ntnAddr PeerAdvertise -> extraPeers
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> Maybe
(PeerActionsDNS ntnAddr resolver resolverError m
-> DNSSemaphore m
-> (Map ntnAddr PeerAdvertise -> extraPeers)
-> (NumberOfPeers
-> LedgerPeersKind -> m (Maybe (Set ntnAddr, DiffTime)))
-> LedgerPeersKind
-> Int
-> m (PublicRootPeers extraPeers ntnAddr, DiffTime))
daRequestPublicRootPeers
:: Maybe ( PeerActionsDNS ntnAddr resolver resolverError m
-> DNSSemaphore m
-> (Map ntnAddr PeerAdvertise -> extraPeers)
-> ( (NumberOfPeers -> LedgerPeersKind -> m (Maybe (Set ntnAddr, DiffTime)))
-> LedgerPeersKind
-> Int
-> m (PublicRootPeers extraPeers ntnAddr, DiffTime)))
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> PeerChurnArgs
m
extraChurnArgs
extraDebugState
extraFlags
extraPeers
extraAPI
extraCounters
ntnAddr
-> m Void
daPeerChurnGovernor
:: Governor.PeerChurnArgs
m
extraChurnArgs
extraDebugState
extraFlags
extraPeers
extraAPI
extraCounters
ntnAddr
-> m Void
, :: extraChurnArgs
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> ForkPolicy ntnAddr
daMuxForkPolicy :: Mx.ForkPolicy ntnAddr
, forall extraState extraDebugState extraFlags extraPeers extraAPI
extraChurnArgs extraCounters exception resolver resolverError
(m :: * -> *) ntnFd ntnAddr ntcFd ntcAddr.
Arguments
extraState
extraDebugState
extraFlags
extraPeers
extraAPI
extraChurnArgs
extraCounters
exception
resolver
resolverError
m
ntnFd
ntnAddr
ntcFd
ntcAddr
-> ForkPolicy ntcAddr
daLocalMuxForkPolicy :: Mx.ForkPolicy ntcAddr
}
data Applications ntnAddr ntnVersion ntnVersionData
ntcAddr ntcVersion ntcVersionData
extraAPI m a =
Applications {
forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> Versions
ntnVersion
ntnVersionData
(OuroborosBundleWithExpandedCtx
'InitiatorMode ntnAddr ByteString m a Void)
daApplicationInitiatorMode
:: Versions ntnVersion
ntnVersionData
(OuroborosBundleWithExpandedCtx
Mx.InitiatorMode ntnAddr
ByteString m a Void)
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> Versions
ntnVersion
ntnVersionData
(OuroborosBundleWithExpandedCtx
'InitiatorResponderMode ntnAddr ByteString m a ())
daApplicationInitiatorResponderMode
:: Versions ntnVersion
ntnVersionData
(OuroborosBundleWithExpandedCtx
Mx.InitiatorResponderMode ntnAddr
ByteString m a ())
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> Versions
ntcVersion
ntcVersionData
(OuroborosApplicationWithMinimalCtx
'ResponderMode ntcAddr ByteString m Void ())
daLocalResponderApplication
:: Versions ntcVersion
ntcVersionData
(OuroborosApplicationWithMinimalCtx
Mx.ResponderMode ntcAddr
ByteString m Void ())
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> LedgerPeersConsensusInterface extraAPI m
daLedgerPeersCtx :: LedgerPeersConsensusInterface extraAPI m
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> RethrowPolicy
daRethrowPolicy :: RethrowPolicy
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> ReturnPolicy a
daReturnPolicy :: ReturnPolicy a
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> RethrowPolicy
daLocalRethrowPolicy :: RethrowPolicy
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> PeerMetrics m ntnAddr
daPeerMetrics :: PeerMetrics m ntnAddr
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> STM m FetchMode
daBlockFetchMode :: STM m FetchMode
, forall ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion
ntcVersionData extraAPI (m :: * -> *) a.
Applications
ntnAddr
ntnVersion
ntnVersionData
ntcAddr
ntcVersion
ntcVersionData
extraAPI
m
a
-> PeerSharingRegistry ntnAddr m
daPeerSharingRegistry :: PeerSharingRegistry ntnAddr m
}
type NodeToClientHandle ntcAddr versionData m =
HandleWithMinimalCtx Mx.ResponderMode ntcAddr versionData ByteString m Void ()
type NodeToClientHandleError ntcVersion =
HandleError Mx.ResponderMode ntcVersion
type NodeToClientConnectionHandler
ntcFd ntcAddr ntcVersion ntcVersionData m =
ConnectionHandler
Mx.ResponderMode
(ConnectionHandlerTrace ntcVersion ntcVersionData)
ntcFd
ntcAddr
(NodeToClientHandle ntcAddr ntcVersionData m)
(NodeToClientHandleError ntcVersion)
ntcVersion
ntcVersionData
m
type NodeToClientConnectionManagerArguments
ntcFd ntcAddr ntcVersion ntcVersionData m =
CM.Arguments
(ConnectionHandlerTrace ntcVersion ntcVersionData)
ntcFd
ntcAddr
(NodeToClientHandle ntcAddr ntcVersionData m)
(NodeToClientHandleError ntcVersion)
ntcVersion
ntcVersionData
m
type NodeToNodeHandle
(mode :: Mx.Mode)
ntnAddr ntnVersionData m a b =
HandleWithExpandedCtx mode ntnAddr ntnVersionData ByteString m a b
type NodeToNodeConnectionManager
(mode :: Mx.Mode)
ntnFd ntnAddr ntnVersionData ntnVersion m a b =
ConnectionManager
mode
ntnFd
ntnAddr
(NodeToNodeHandle mode ntnAddr ntnVersionData m a b)
(HandleError mode ntnVersion)
m
type NodeToNodePeerConnectionHandle (mode :: Mx.Mode) ntnAddr ntnVersionData m a b =
PeerConnectionHandle
mode
(ResponderContext ntnAddr)
ntnAddr
ntnVersionData
ByteString
m a b
type NodeToNodePeerSelectionActions extraState extraFlags extraPeers extraAPI extraCounters
(mode :: Mx.Mode) ntnAddr ntnVersionData m a b =
PeerSelectionActions
extraState extraFlags extraPeers extraAPI extraCounters
ntnAddr
(NodeToNodePeerConnectionHandle mode ntnAddr ntnVersionData m a b)
m
data Interfaces ntnFd ntnAddr ntnVersion ntnVersionData
ntcFd ntcAddr ntcVersion ntcVersionData
resolver resolverError
extraState extraFlags extraPeers extraAPI
m =
Interfaces {
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> Snocket m ntnFd ntnAddr
diNtnSnocket
:: Snocket m ntnFd ntnAddr,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> MakeBearer m ntnFd
diNtnBearer
:: Mx.MakeBearer m ntnFd,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntnFd -> Maybe ntnAddr -> m ()
diNtnConfigureSocket
:: ntnFd -> Maybe ntnAddr -> m (),
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntnFd -> ntnAddr -> m ()
diNtnConfigureSystemdSocket
:: ntnFd -> ntnAddr -> m (),
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> HandshakeArguments
(ConnectionId ntnAddr) ntnVersion ntnVersionData m
diNtnHandshakeArguments
:: HandshakeArguments (ConnectionId ntnAddr) ntnVersion ntnVersionData m,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntnAddr -> Maybe AddressType
diNtnAddressType
:: ntnAddr -> Maybe AddressType,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntnVersionData -> DataFlow
diNtnDataFlow
:: ntnVersionData -> DataFlow,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntnVersionData -> PeerSharing
diNtnPeerSharing
:: ntnVersionData -> PeerSharing,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> IP -> PortNumber -> ntnAddr
diNtnToPeerAddr
:: IP -> Socket.PortNumber -> ntnAddr,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> Snocket m ntcFd ntcAddr
diNtcSnocket
:: Snocket m ntcFd ntcAddr,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> MakeBearer m ntcFd
diNtcBearer
:: Mx.MakeBearer m ntcFd,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> HandshakeArguments
(ConnectionId ntcAddr) ntcVersion ntcVersionData m
diNtcHandshakeArguments
:: HandshakeArguments (ConnectionId ntcAddr) ntcVersion ntcVersionData m,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntcFd -> m FileDescriptor
diNtcGetFileDescriptor
:: ntcFd -> m FileDescriptor,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> StdGen
diRng
:: StdGen,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> 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))
-> PeerMetrics m ntnAddr
-> m ()
diInstallSigUSR1Handler
:: forall 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))
-> PeerMetrics m ntnAddr
-> m (),
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> DNSLookupType -> DNSActions resolver resolverError m
diDnsActions
:: DNSLookupType -> DNSActions resolver resolverError m,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ntnVersionData -> DiffusionMode -> ntnVersionData
diUpdateVersionData
:: ntnVersionData -> DiffusionMode -> ntnVersionData,
forall ntnFd ntnAddr ntnVersion ntnVersionData ntcFd ntcAddr
ntcVersion ntcVersionData resolver resolverError extraState
extraFlags extraPeers extraAPI (m :: * -> *).
Interfaces
ntnFd
ntnAddr
ntnVersion
ntnVersionData
ntcFd
ntcAddr
ntcVersion
ntcVersionData
resolver
resolverError
extraState
extraFlags
extraPeers
extraAPI
m
-> ConnStateIdSupply m
diConnStateIdSupply
:: CM.ConnStateIdSupply m
}