Documentation
¶
Index ¶
- type LongRunningBlockBuilder
- func (b *LongRunningBlockBuilder) BuildBlock(ctx context.Context, metadata simplex.ProtocolMetadata, ...) (simplex.VerifiedBlock, bool)
- func (b *LongRunningBlockBuilder) TriggerBlockShouldBeBuilt()
- func (b *LongRunningBlockBuilder) TriggerBlockShouldNotBeBuilt()
- func (b *LongRunningBlockBuilder) WaitForPendingBlock(ctx context.Context)
- type LongRunningInMemoryNetwork
- func (n *LongRunningInMemoryNetwork) ConnectNodes(nodeIndexes ...uint64)
- func (n *LongRunningInMemoryNetwork) ContinueBlocks()
- func (n *LongRunningInMemoryNetwork) CrashNodes(nodeIndexes ...uint64)
- func (n *LongRunningInMemoryNetwork) DisconnectNodes(nodeIndexes ...uint64)
- func (n *LongRunningInMemoryNetwork) GetInstance(index int) *LongRunningNode
- func (n *LongRunningInMemoryNetwork) NoMoreBlocks()
- func (n *LongRunningInMemoryNetwork) StartInstances()
- func (n *LongRunningInMemoryNetwork) StartNodes(nodeIndexes ...uint64)
- func (n *LongRunningInMemoryNetwork) StopAndAssert(tailingMessages bool)
- func (n *LongRunningInMemoryNetwork) UpdateTime(frequency time.Duration, increment time.Duration)
- func (n *LongRunningInMemoryNetwork) WaitForNodesToEnterRound(round uint64, nodeIndexes ...uint64)
- type LongRunningNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LongRunningBlockBuilder ¶
type LongRunningBlockBuilder struct {
// contains filtered or unexported fields
}
func NewNetworkBlockBuilder ¶
func NewNetworkBlockBuilder(t *testing.T) *LongRunningBlockBuilder
func (*LongRunningBlockBuilder) BuildBlock ¶
func (b *LongRunningBlockBuilder) BuildBlock( ctx context.Context, metadata simplex.ProtocolMetadata, blacklist simplex.Blacklist, ) (simplex.VerifiedBlock, bool)
func (*LongRunningBlockBuilder) TriggerBlockShouldBeBuilt ¶
func (b *LongRunningBlockBuilder) TriggerBlockShouldBeBuilt()
func (*LongRunningBlockBuilder) TriggerBlockShouldNotBeBuilt ¶
func (b *LongRunningBlockBuilder) TriggerBlockShouldNotBeBuilt()
func (*LongRunningBlockBuilder) WaitForPendingBlock ¶
func (b *LongRunningBlockBuilder) WaitForPendingBlock(ctx context.Context)
type LongRunningInMemoryNetwork ¶
type LongRunningInMemoryNetwork struct {
*testutil.BasicInMemoryNetwork
// contains filtered or unexported fields
}
func NewDefaultLongRunningNetwork ¶
func NewDefaultLongRunningNetwork(t *testing.T, numNodes int) *LongRunningInMemoryNetwork
func (*LongRunningInMemoryNetwork) ConnectNodes ¶
func (n *LongRunningInMemoryNetwork) ConnectNodes(nodeIndexes ...uint64)
func (*LongRunningInMemoryNetwork) ContinueBlocks ¶
func (n *LongRunningInMemoryNetwork) ContinueBlocks()
func (*LongRunningInMemoryNetwork) CrashNodes ¶
func (n *LongRunningInMemoryNetwork) CrashNodes(nodeIndexes ...uint64)
func (*LongRunningInMemoryNetwork) DisconnectNodes ¶
func (n *LongRunningInMemoryNetwork) DisconnectNodes(nodeIndexes ...uint64)
func (*LongRunningInMemoryNetwork) GetInstance ¶
func (n *LongRunningInMemoryNetwork) GetInstance(index int) *LongRunningNode
func (*LongRunningInMemoryNetwork) NoMoreBlocks ¶
func (n *LongRunningInMemoryNetwork) NoMoreBlocks()
func (*LongRunningInMemoryNetwork) StartInstances ¶
func (n *LongRunningInMemoryNetwork) StartInstances()
func (*LongRunningInMemoryNetwork) StartNodes ¶
func (n *LongRunningInMemoryNetwork) StartNodes(nodeIndexes ...uint64)
func (*LongRunningInMemoryNetwork) StopAndAssert ¶
func (n *LongRunningInMemoryNetwork) StopAndAssert(tailingMessages bool)
StopAndAssert stops all nodes and asserts their storage and WALs are consistent. If tailingMessages is true, it will also assert that no extra messages are being sent after telling the network no more blocks should be built. TailingMessages is useful for debugging, but is currently flakey because NoMoreBlocks does not stop block building atomically for all nodes in the network. Therefore, some nodes may timeout on a block they think should be built, and keep resending empty votes.
func (*LongRunningInMemoryNetwork) UpdateTime ¶
func (n *LongRunningInMemoryNetwork) UpdateTime(frequency time.Duration, increment time.Duration)
func (*LongRunningInMemoryNetwork) WaitForNodesToEnterRound ¶
func (n *LongRunningInMemoryNetwork) WaitForNodesToEnterRound(round uint64, nodeIndexes ...uint64)
type LongRunningNode ¶
type LongRunningNode struct {
*testutil.BasicNode
Storage *testutil.InMemStorage
// contains filtered or unexported fields
}
func NewLongRunningNode ¶
func NewLongRunningNode(t *testing.T, nodeID simplex.NodeID, basicNetwork *testutil.BasicInMemoryNetwork, options longRunningNodeConfig) *LongRunningNode
Click to show internal directories.
Click to hide internal directories.