ouroboros-consensus-diffusion-0.16.0.0: Integration for the Ouroboros Network layer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.ThreadNet.Util.NodeJoinPlan

Synopsis

Node Join Plan

newtype NodeJoinPlan Source #

In which slot each node joins the network

Instances

Instances details
Show NodeJoinPlan Source # 
Instance details

Defined in Test.ThreadNet.Util.NodeJoinPlan

Condense NodeJoinPlan Source # 
Instance details

Defined in Test.ThreadNet.Util.NodeJoinPlan

coreNodeIdJoinSlotHasCallStackNodeJoinPlanCoreNodeIdSlotNo Source #

Partial; error for a node not in the plan

genNodeJoinPlan Source #

Arguments

NumCoreNodes

PRECONDITION: non-negative

NumSlots

PRECONDITION: positive

Gen NodeJoinPlan 

Generate a NodeJoinPlan consistent with the given properties

INVARIANT: Nodes with higher Ids will not join before nodes with lower Ids. This eliminates some uninteresting symmetry and makes the counter-examples easier for humans to interpret.

nodeIdJoinSlotHasCallStackNodeJoinPlanNodeIdSlotNo Source #

Partial; error for a node not in the plan

shrinkNodeJoinPlanNodeJoinPlan → [NodeJoinPlan] Source #

Shrink a node join plan

INVARIANT no inter-join delay increases

Specifically, we shrink by setting some of the delays to 0.

trivialNodeJoinPlanNumCoreNodesNodeJoinPlan Source #

All nodes join immediately