Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Test.Ouroboros.Network.Testnet.Simulation.Node
Contents
Synopsis
- data SimArgs = SimArgs {}
- data NodeArgs = NodeArgs {
- naSeed :: Int
- naDiffusionMode :: DiffusionMode
- naMbTime :: Maybe DiffTime
- naPublicRoots :: Map RelayAccessPoint PeerAdvertise
- naAddr :: NtNAddr
- naPeerSharing :: PeerSharing
- naLocalRootPeers :: [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)]
- naLedgerPeers :: Script LedgerPools
- naLocalSelectionTargets :: PeerSelectionTargets
- naDNSTimeoutScript :: Script DNSTimeout
- naDNSLookupDelayScript :: Script DNSLookupDelay
- naChainSyncExitOnBlockNo :: Maybe BlockNo
- naChainSyncEarlyExit :: Bool
- data ServiceDomainName
- = DomainName Domain
- | Misconfigured Domain
- | NoDomainName
- data DiffusionScript = DiffusionScript SimArgs DomainMapScript [(NodeArgs, [Command])]
- data HotDiffusionScript = HotDiffusionScript SimArgs DomainMapScript [(NodeArgs, [Command])]
- data DiffusionSimulationTrace
- prop_diffusionScript_fixupCommands :: DiffusionScript -> Property
- prop_diffusionScript_commandScript_valid :: DiffusionScript -> Property
- diffusionSimulation :: forall m. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadFix m, MonadFork m, MonadSay m, MonadST m, MonadEvaluate m, MonadLabelledSTM m, MonadTraceSTM m, MonadCatch m, MonadMask m, MonadTime m, MonadTimer m, MonadThrow (STM m), MonadMVar m, Eq (Async m Void), forall a. Semigroup a => Semigroup (m a)) => BearerInfo -> DiffusionScript -> Tracer m (WithTime (WithName NtNAddr DiffusionTestTrace)) -> m Void
- data Command
- = JoinNetwork DiffTime
- | Kill DiffTime
- | Reconfigure DiffTime [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)]
- data DiffusionTestTrace
- = DiffusionLocalRootPeerTrace (TraceLocalRootPeers NtNAddr SomeException)
- | DiffusionPublicRootPeerTrace TracePublicRootPeers
- | DiffusionLedgerPeersTrace TraceLedgerPeers
- | DiffusionPeerSelectionTrace (TracePeerSelection NtNAddr)
- | DiffusionPeerSelectionActionsTrace (PeerSelectionActionsTrace NtNAddr NtNVersion)
- | DiffusionDebugPeerSelectionTrace (DebugPeerSelection NtNAddr)
- | DiffusionConnectionManagerTrace (ConnectionManagerTrace NtNAddr (ConnectionHandlerTrace NtNVersion NtNVersionData))
- | DiffusionDiffusionSimulationTrace DiffusionSimulationTrace
- | DiffusionConnectionManagerTransitionTrace (AbstractTransitionTrace NtNAddr)
- | DiffusionInboundGovernorTransitionTrace (RemoteTransitionTrace NtNAddr)
- | DiffusionInboundGovernorTrace (InboundGovernorTrace NtNAddr)
- | DiffusionServerTrace (ServerTrace NtNAddr)
- | DiffusionFetchTrace (TraceFetchClientState BlockHeader)
- | DiffusionDebugTrace String
- iosimTracer :: forall s a. (Show a, Typeable a) => Tracer (IOSim s) (WithTime (WithName NtNAddr a))
- newtype TestAddress addr = TestAddress {
- getTestAddress :: addr
- data RelayAccessPoint where
- RelayAccessDomain !Domain !PortNumber
- RelayAccessAddress !IP !PortNumber
- pattern RelayDomainAccessPoint :: DomainAccessPoint -> RelayAccessPoint
- newtype Script a = Script (NonEmpty a)
- data PeerSelectionTargets = PeerSelectionTargets {}
- newtype DNSLookupDelay = DNSLookupDelay {
- getDNSLookupDelay :: DiffTime
- newtype DNSTimeout = DNSTimeout {
- getDNSTimeout :: DiffTime
- data DebugPeerSelection peeraddr where
- TraceGovernorState :: forall peeraddr peerconn. Show peerconn => Time -> Maybe DiffTime -> PeerSelectionState peeraddr peerconn -> DebugPeerSelection peeraddr
- data TracePeerSelection peeraddr
Documentation
Diffusion Simulator Arguments
Contains all necessary randomly generated values needed to run diffusion in simulation.
Constructors
SimArgs | |
Fields
|
Diffusion Simulator Node Arguments
Contains all necessary randomly generated values needed to run a node in simulation.
Constructors
NodeArgs | |
Fields
|
data ServiceDomainName Source #
Constructors
DomainName Domain | a well configured domain name |
Misconfigured Domain | a domain name which is advertised but its' IPs are wrong. |
NoDomainName |
Instances
Arbitrary ServiceDomainName Source # | |
Show ServiceDomainName Source # | |
data DiffusionScript Source #
Multinode Diffusion Simulator Script
SimArgs
with all the values needed for running the simulation, followed
by a list of NodeArgs
where each element represents one running node and
respective Command
s.
Constructors
DiffusionScript SimArgs DomainMapScript [(NodeArgs, [Command])] |
Instances
Arbitrary DiffusionScript Source # | |
Show DiffusionScript Source # | |
data HotDiffusionScript Source #
Multinode Hot Diffusion Simulator Script
List of SimArgs
. Each element of the list represents one running node.
Constructors
HotDiffusionScript SimArgs DomainMapScript [(NodeArgs, [Command])] |
Instances
Arbitrary HotDiffusionScript Source # | |
Show HotDiffusionScript Source # | |
data DiffusionSimulationTrace Source #
Diffusion Simulation Trace so we know what command is concurrently running
Instances
prop_diffusionScript_fixupCommands :: DiffusionScript -> Property Source #
prop_diffusionScript_commandScript_valid :: DiffusionScript -> Property Source #
Arguments
:: forall m. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadFix m, MonadFork m, MonadSay m, MonadST m, MonadEvaluate m, MonadLabelledSTM m, MonadTraceSTM m, MonadCatch m, MonadMask m, MonadTime m, MonadTimer m, MonadThrow (STM m), MonadMVar m, Eq (Async m Void), forall a. Semigroup a => Semigroup (m a)) | |
=> BearerInfo | |
-> DiffusionScript | |
-> Tracer m (WithTime (WithName NtNAddr DiffusionTestTrace)) | timed trace of nodes in the system |
-> m Void |
Run an arbitrary topology
Constructors
JoinNetwork DiffTime | |
Kill DiffTime | |
Reconfigure DiffTime [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)] |
Tracing
data DiffusionTestTrace Source #
Constructors
DiffusionLocalRootPeerTrace (TraceLocalRootPeers NtNAddr SomeException) | |
DiffusionPublicRootPeerTrace TracePublicRootPeers | |
DiffusionLedgerPeersTrace TraceLedgerPeers | |
DiffusionPeerSelectionTrace (TracePeerSelection NtNAddr) | |
DiffusionPeerSelectionActionsTrace (PeerSelectionActionsTrace NtNAddr NtNVersion) | |
DiffusionDebugPeerSelectionTrace (DebugPeerSelection NtNAddr) | |
DiffusionConnectionManagerTrace (ConnectionManagerTrace NtNAddr (ConnectionHandlerTrace NtNVersion NtNVersionData)) | |
DiffusionDiffusionSimulationTrace DiffusionSimulationTrace | |
DiffusionConnectionManagerTransitionTrace (AbstractTransitionTrace NtNAddr) | |
DiffusionInboundGovernorTransitionTrace (RemoteTransitionTrace NtNAddr) | |
DiffusionInboundGovernorTrace (InboundGovernorTrace NtNAddr) | |
DiffusionServerTrace (ServerTrace NtNAddr) | |
DiffusionFetchTrace (TraceFetchClientState BlockHeader) | |
DiffusionDebugTrace String |
Instances
iosimTracer :: forall s a. (Show a, Typeable a) => Tracer (IOSim s) (WithTime (WithName NtNAddr a)) Source #
A debug tracer which embeds events in DiffusionTestTrace.
Re-exports
newtype TestAddress addr #
Constructors
TestAddress | |
Fields
|
Instances
data RelayAccessPoint #
Constructors
RelayAccessDomain !Domain !PortNumber | |
RelayAccessAddress !IP !PortNumber |
Bundled Patterns
pattern RelayDomainAccessPoint :: DomainAccessPoint -> RelayAccessPoint |
Instances
Instances
Foldable Script | |
Defined in Ouroboros.Network.Testing.Data.Script Methods fold :: Monoid m => Script m -> m Source # foldMap :: Monoid m => (a -> m) -> Script a -> m Source # foldMap' :: Monoid m => (a -> m) -> Script a -> m Source # foldr :: (a -> b -> b) -> b -> Script a -> b Source # foldr' :: (a -> b -> b) -> b -> Script a -> b Source # foldl :: (b -> a -> b) -> b -> Script a -> b Source # foldl' :: (b -> a -> b) -> b -> Script a -> b Source # foldr1 :: (a -> a -> a) -> Script a -> a Source # foldl1 :: (a -> a -> a) -> Script a -> a Source # toList :: Script a -> [a] Source # null :: Script a -> Bool Source # length :: Script a -> Int Source # elem :: Eq a => a -> Script a -> Bool Source # maximum :: Ord a => Script a -> a Source # minimum :: Ord a => Script a -> a Source # | |
Traversable Script | |
Defined in Ouroboros.Network.Testing.Data.Script | |
Functor Script | |
Arbitrary a => Arbitrary (Script a) | |
Show a => Show (Script a) | |
Eq a => Eq (Script a) | |
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 # |
newtype DNSLookupDelay Source #
Constructors
DNSLookupDelay | |
Fields
|
Instances
Arbitrary DNSLookupDelay Source # | |
Show DNSLookupDelay Source # | |
newtype DNSTimeout Source #
Constructors
DNSTimeout | |
Fields
|
Instances
Arbitrary DNSTimeout Source # | |
Show DNSTimeout Source # | |
data DebugPeerSelection peeraddr where #
Constructors
TraceGovernorState :: forall peeraddr peerconn. Show peerconn => Time -> Maybe DiffTime -> PeerSelectionState peeraddr peerconn -> DebugPeerSelection peeraddr |
Instances
(Ord peeraddr, Show peeraddr) => Show (DebugPeerSelection peeraddr) | |
data TracePeerSelection peeraddr #
Instances
(Ord peeraddr, Show peeraddr) => Show (TracePeerSelection peeraddr) | |