ouroboros-network-0.10.1.0: A networking layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Ouroboros.Network.Testnet.Simulation.Node

Synopsis

Documentation

data SimArgs Source #

Diffusion Simulator Arguments

Contains all necessary randomly generated values needed to run diffusion in simulation.

Constructors

SimArgs 

Fields

Instances

Instances details
Show SimArgs Source # 
Instance details

Defined in Test.Ouroboros.Network.Testnet.Simulation.Node

data NodeArgs Source #

Diffusion Simulator Node Arguments

Contains all necessary randomly generated values needed to run a node in simulation.

Constructors

NodeArgs 

Fields

Instances

Instances details
Show NodeArgs Source # 
Instance details

Defined in Test.Ouroboros.Network.Testnet.Simulation.Node

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 

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 Commands.

Constructors

DiffusionScript SimArgs DomainMapScript [(NodeArgs, [Command])] 

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])] 

diffusionSimulation 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

data Command Source #

Constructors

JoinNetwork DiffTime 
Kill DiffTime 
Reconfigure DiffTime [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)] 

Tracing

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

Instances details
Generic (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

Associated Types

type Rep (TestAddress addr) :: Type -> Type Source #

Methods

from :: TestAddress addr -> Rep (TestAddress addr) x Source #

to :: Rep (TestAddress addr) x -> TestAddress addr Source #

Show addr => Show (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

NFData addr => NFData (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

Methods

rnf :: TestAddress addr -> () Source #

Eq addr => Eq (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

Methods

(==) :: TestAddress addr -> TestAddress addr -> Bool Source #

(/=) :: TestAddress addr -> TestAddress addr -> Bool Source #

Ord addr => Ord (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

Methods

compare :: TestAddress addr -> TestAddress addr -> Ordering Source #

(<) :: TestAddress addr -> TestAddress addr -> Bool Source #

(<=) :: TestAddress addr -> TestAddress addr -> Bool Source #

(>) :: TestAddress addr -> TestAddress addr -> Bool Source #

(>=) :: TestAddress addr -> TestAddress addr -> Bool Source #

max :: TestAddress addr -> TestAddress addr -> TestAddress addr Source #

min :: TestAddress addr -> TestAddress addr -> TestAddress addr Source #

Hashable addr => Hashable (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

Methods

hashWithSalt :: Int -> TestAddress addr -> Int

hash :: TestAddress addr -> Int

Typeable addr => NoThunks (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

Methods

noThunks :: Context -> TestAddress addr -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> TestAddress addr -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (TestAddress addr) -> String

type Rep (TestAddress addr) 
Instance details

Defined in Ouroboros.Network.Snocket

type Rep (TestAddress addr) = D1 ('MetaData "TestAddress" "Ouroboros.Network.Snocket" "ouroboros-network-framework-0.10.1.0-1NmqovwJJ647OIKhFFtyId" 'True) (C1 ('MetaCons "TestAddress" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTestAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 addr)))

data RelayAccessPoint #

Constructors

RelayAccessDomain !Domain !PortNumber 
RelayAccessAddress !IP !PortNumber 

Bundled Patterns

pattern RelayDomainAccessPoint :: DomainAccessPoint -> RelayAccessPoint 

Instances

Instances details
Arbitrary RelayAccessPoint 
Instance details

Defined in Test.Ouroboros.Network.PeerSelection.Instances

FromJSON RelayAccessPoint 
Instance details

Defined in Ouroboros.Network.PeerSelection.RelayAccessPoint

ToJSON RelayAccessPoint 
Instance details

Defined in Ouroboros.Network.PeerSelection.RelayAccessPoint

Show RelayAccessPoint 
Instance details

Defined in Ouroboros.Network.PeerSelection.RelayAccessPoint

NFData RelayAccessPoint 
Instance details

Defined in Ouroboros.Network.PeerSelection.RelayAccessPoint

Methods

rnf :: RelayAccessPoint -> () Source #

Eq RelayAccessPoint 
Instance details

Defined in Ouroboros.Network.PeerSelection.RelayAccessPoint

Ord RelayAccessPoint 
Instance details

Defined in Ouroboros.Network.PeerSelection.RelayAccessPoint

newtype Script a #

Constructors

Script (NonEmpty a) 

Instances

Instances details
Foldable Script 
Instance details

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 #

sum :: Num a => Script a -> a Source #

product :: Num a => Script a -> a Source #

Traversable Script 
Instance details

Defined in Ouroboros.Network.Testing.Data.Script

Methods

traverse :: Applicative f => (a -> f b) -> Script a -> f (Script b) Source #

sequenceA :: Applicative f => Script (f a) -> f (Script a) Source #

mapM :: Monad m => (a -> m b) -> Script a -> m (Script b) Source #

sequence :: Monad m => Script (m a) -> m (Script a) Source #

Functor Script 
Instance details

Defined in Ouroboros.Network.Testing.Data.Script

Methods

fmap :: (a -> b) -> Script a -> Script b Source #

(<$) :: a -> Script b -> Script a Source #

Arbitrary a => Arbitrary (Script a) 
Instance details

Defined in Ouroboros.Network.Testing.Data.Script

Methods

arbitrary :: Gen (Script a)

shrink :: Script a -> [Script a]

Show a => Show (Script a) 
Instance details

Defined in Ouroboros.Network.Testing.Data.Script

Eq a => Eq (Script a) 
Instance details

Defined in Ouroboros.Network.Testing.Data.Script

Methods

(==) :: Script a -> Script a -> Bool Source #

(/=) :: Script a -> Script a -> Bool Source #

newtype DNSTimeout Source #

Constructors

DNSTimeout 

Fields

data DebugPeerSelection peeraddr where #

Constructors

TraceGovernorState :: forall peeraddr peerconn. Show peerconn => Time -> Maybe DiffTime -> PeerSelectionState peeraddr peerconn -> DebugPeerSelection peeraddr 

Instances

Instances details
(Ord peeraddr, Show peeraddr) => Show (DebugPeerSelection peeraddr) 
Instance details

Defined in Ouroboros.Network.PeerSelection.Governor.Types

data TracePeerSelection peeraddr #

Instances

Instances details
(Ord peeraddr, Show peeraddr) => Show (TracePeerSelection peeraddr) 
Instance details

Defined in Ouroboros.Network.PeerSelection.Governor.Types