Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Test.Ouroboros.Network.Diffusion.Node
Synopsis
- data BlockGeneratorArgs block s = BlockGeneratorArgs {
- bgaSlotDuration :: DiffTime
- bgaBlockGenerator :: s -> Anchor block -> SlotNo -> (Maybe block, s)
- bgaSeed :: s
- data LimitsAndTimeouts header block = LimitsAndTimeouts {
- chainSyncLimits :: MiniProtocolLimits
- chainSyncSizeLimits :: ProtocolSizeLimits (ChainSync header (Point block) (Tip block)) ByteString
- chainSyncTimeLimits :: ProtocolTimeLimits (ChainSync header (Point block) (Tip block))
- blockFetchLimits :: MiniProtocolLimits
- blockFetchSizeLimits :: ProtocolSizeLimits (BlockFetch block (Point block)) ByteString
- blockFetchTimeLimits :: ProtocolTimeLimits (BlockFetch block (Point block))
- keepAliveLimits :: MiniProtocolLimits
- keepAliveSizeLimits :: ProtocolSizeLimits KeepAlive ByteString
- keepAliveTimeLimits :: ProtocolTimeLimits KeepAlive
- pingPongLimits :: MiniProtocolLimits
- pingPongSizeLimits :: ProtocolSizeLimits PingPong ByteString
- pingPongTimeLimits :: ProtocolTimeLimits PingPong
- handshakeLimits :: MiniProtocolLimits
- handshakeTimeLimits :: ProtocolTimeLimits (Handshake NtNVersion NtNVersionData)
- handhsakeSizeLimits :: ProtocolSizeLimits (Handshake NtNVersion NtNVersionData) ByteString
- peerSharingLimits :: MiniProtocolLimits
- peerSharingTimeLimits :: ProtocolTimeLimits (PeerSharing NtNAddr)
- peerSharingSizeLimits :: ProtocolSizeLimits (PeerSharing NtNAddr) ByteString
- data Interfaces m = Interfaces {
- iNtnSnocket :: Snocket m (NtNFD m) NtNAddr
- iNtnBearer :: MakeBearer m (NtNFD m)
- iAcceptVersion :: NtNVersionData -> NtNVersionData -> Accept NtNVersionData
- iNtnDomainResolver :: DNSLookupType -> [DomainAccessPoint] -> m (Map DomainAccessPoint (Set NtNAddr))
- iNtcSnocket :: Snocket m (NtCFD m) NtCAddr
- iNtcBearer :: MakeBearer m (NtCFD m)
- iRng :: StdGen
- iDomainMap :: StrictTVar m (Map Domain [(IP, TTL)])
- iLedgerPeersConsensusInterface :: LedgerPeersConsensusInterface m
- data Arguments m = Arguments {
- aIPAddress :: NtNAddr
- aAcceptedLimits :: AcceptedConnectionsLimit
- aDiffusionMode :: DiffusionMode
- aKeepAliveInterval :: DiffTime
- aPingPongInterval :: DiffTime
- aShouldChainSyncExit :: BlockHeader -> m Bool
- aChainSyncEarlyExit :: Bool
- aPeerSelectionTargets :: PeerSelectionTargets
- aReadLocalRootPeers :: STM m [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)]
- aReadPublicRootPeers :: STM m (Map RelayAccessPoint PeerAdvertise)
- aOwnPeerSharing :: PeerSharing
- aReadUseLedgerAfter :: STM m UseLedgerAfter
- aProtocolIdleTimeout :: DiffTime
- aTimeWaitTimeout :: DiffTime
- aDNSTimeoutScript :: Script DNSTimeout
- aDNSLookupDelayScript :: Script DNSLookupDelay
- aDebugTracer :: Tracer m String
- run :: forall resolver m. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadEvaluate m, MonadFix m, MonadFork m, MonadLabelledSTM m, MonadTraceSTM m, MonadMask m, MonadSay m, MonadST m, MonadTime m, MonadTimer m, MonadThrow m, MonadThrow (STM m), MonadMVar m, resolver ~ (), forall a. Semigroup a => Semigroup (m a), Eq (Async m Void)) => BlockGeneratorArgs Block StdGen -> LimitsAndTimeouts BlockHeader Block -> Interfaces m -> Arguments m -> TracersExtra NtNAddr NtNVersion NtNVersionData NtCAddr NtCVersion NtCVersionData ResolverException m -> Tracer m (TraceLabelPeer NtNAddr (TraceFetchClientState BlockHeader)) -> m Void
- type NtNAddr = TestAddress NtNAddr_
- type NtNFD m = FD m NtNAddr
- type NtCAddr = TestAddress Int
- type NtCFD m = FD m NtCAddr
- data AcceptedConnectionsLimit = AcceptedConnectionsLimit {
- acceptedConnectionsHardLimit :: !Word32
- acceptedConnectionsSoftLimit :: !Word32
- acceptedConnectionsDelay :: !DiffTime
- data DiffusionMode
- data PeerAdvertise
- data PeerSelectionTargets = PeerSelectionTargets {}
- config_RECONNECT_DELAY :: ReconnectDelay
run a node
data BlockGeneratorArgs block s Source #
Constructors
BlockGeneratorArgs | |
Fields
|
data LimitsAndTimeouts header block Source #
Limits and protocol timeouts
Constructors
LimitsAndTimeouts | |
Fields
|
data Interfaces m Source #
Constructors
Interfaces | |
Fields
|
Constructors
Arguments | |
Fields
|
run :: forall resolver m. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadEvaluate m, MonadFix m, MonadFork m, MonadLabelledSTM m, MonadTraceSTM m, MonadMask m, MonadSay m, MonadST m, MonadTime m, MonadTimer m, MonadThrow m, MonadThrow (STM m), MonadMVar m, resolver ~ (), forall a. Semigroup a => Semigroup (m a), Eq (Async m Void)) => BlockGeneratorArgs Block StdGen -> LimitsAndTimeouts BlockHeader Block -> Interfaces m -> Arguments m -> TracersExtra NtNAddr NtNVersion NtNVersionData NtCAddr NtCVersion NtCVersionData ResolverException m -> Tracer m (TraceLabelPeer NtNAddr (TraceFetchClientState BlockHeader)) -> m Void Source #
node types
type NtNAddr = TestAddress NtNAddr_ Source #
type NtCAddr = TestAddress Int Source #
extra types used by the node
data AcceptedConnectionsLimit #
Constructors
AcceptedConnectionsLimit | |
Fields
|
Instances
data DiffusionMode #
Instances
Show DiffusionMode | |
Defined in Ouroboros.Network.NodeToNode.Version | |
Eq DiffusionMode | |
Defined in Ouroboros.Network.NodeToNode.Version Methods (==) :: DiffusionMode -> DiffusionMode -> Bool Source # (/=) :: DiffusionMode -> DiffusionMode -> Bool Source # | |
Ord DiffusionMode | |
Defined in Ouroboros.Network.NodeToNode.Version Methods compare :: DiffusionMode -> DiffusionMode -> Ordering Source # (<) :: DiffusionMode -> DiffusionMode -> Bool Source # (<=) :: DiffusionMode -> DiffusionMode -> Bool Source # (>) :: DiffusionMode -> DiffusionMode -> Bool Source # (>=) :: DiffusionMode -> DiffusionMode -> Bool Source # max :: DiffusionMode -> DiffusionMode -> DiffusionMode Source # min :: DiffusionMode -> DiffusionMode -> DiffusionMode Source # |
data PeerAdvertise #
Constructors
DoNotAdvertisePeer | |
DoAdvertisePeer |
Instances
data PeerSelectionTargets #
Constructors
PeerSelectionTargets | |
Instances
Arbitrary PeerSelectionTargets | |
Defined in Test.Ouroboros.Network.PeerSelection.Instances Methods arbitrary :: Gen PeerSelectionTargets | |
Show PeerSelectionTargets | |
Eq PeerSelectionTargets | |
Defined in Ouroboros.Network.PeerSelection.Governor.Types Methods (==) :: PeerSelectionTargets -> PeerSelectionTargets -> Bool Source # (/=) :: PeerSelectionTargets -> PeerSelectionTargets -> Bool Source # |
configuration constants
config_RECONNECT_DELAY :: ReconnectDelay Source #