Documentation ¶
Index ¶
- Constants
- type Node
- func (n *Node) CheckTx(ctx context.Context, call []byte) error
- func (n *Node) Cleanup()
- func (n *Node) Dispatch(committeeID hash.Hash, batch transaction.RawBatch) error
- func (n *Node) HandleEpochTransitionLocked(epoch *committee.EpochSnapshot)
- func (n *Node) HandleNewBlockEarlyLocked(blk *block.Block)
- func (n *Node) HandleNewBlockLocked(blk *block.Block)
- func (n *Node) HandleNewEventLocked(ev *roothash.Event)
- func (n *Node) HandleNodeUpdateLocked(update *runtimeCommittee.NodeUpdate, snapshot *committee.EpochSnapshot)
- func (n *Node) HandlePeerMessage(ctx context.Context, message *p2p.Message) (bool, error)
- func (n *Node) Initialized() <-chan struct{}
- func (n *Node) IsTransactionQueued(ctx context.Context, id hash.Hash) (bool, error)
- func (n *Node) Name() string
- func (n *Node) QueueCall(ctx context.Context, expectedEpochNumber epochtime.EpochTime, call []byte) error
- func (n *Node) Quit() <-chan struct{}
- func (n *Node) Start() error
- func (n *Node) Stop()
- func (n *Node) WatchStateTransitions() (<-chan NodeState, *pubsub.Subscription)
- type NodeState
- type StateName
- type StateNotReady
- type StateWaitingForBatch
- type StateWaitingForFinalize
Constants ¶
const ( // NotReady is the name of StateNotReady. NotReady = "NotReady" // WaitingForBatch is the name of StateWaitingForBatch. WaitingForBatch = "WaitingForBatch" // WaitingForFinalize is the name of StateWaitingForFinalize. WaitingForFinalize = "WaitingForFinalize" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Node ¶
type Node struct { *commonWorker.RuntimeHostNode // contains filtered or unexported fields }
Node is a committee node.
func NewNode ¶
func NewNode( commonNode *committee.Node, executorNode *executorCommittee.Node, checkTxEnabled bool, commonCfg commonWorker.Config, roleProvider registration.RoleProvider, ) (*Node, error)
func (*Node) Cleanup ¶
func (n *Node) Cleanup()
Cleanup performs the service specific post-termination cleanup.
func (*Node) HandleEpochTransitionLocked ¶
func (n *Node) HandleEpochTransitionLocked(epoch *committee.EpochSnapshot)
HandleEpochTransitionLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.
func (*Node) HandleNewBlockEarlyLocked ¶
HandleNewBlockEarlyLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.
func (*Node) HandleNewBlockLocked ¶
HandleNewBlockLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.
func (*Node) HandleNewEventLocked ¶
HandleNewEventLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.
func (*Node) HandleNodeUpdateLocked ¶
func (n *Node) HandleNodeUpdateLocked(update *runtimeCommittee.NodeUpdate, snapshot *committee.EpochSnapshot)
HandleNodeUpdateLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.
func (*Node) HandlePeerMessage ¶
HandlePeerMessage implements NodeHooks.
func (*Node) Initialized ¶
func (n *Node) Initialized() <-chan struct{}
Initialized returns a channel that will be closed when the node is initialized and ready to service requests.
func (*Node) IsTransactionQueued ¶
IsTransactionQueued checks if the given transaction is present in the transaction scheduler queue and is waiting to be dispatched to a executor committee.
func (*Node) QueueCall ¶
func (n *Node) QueueCall(ctx context.Context, expectedEpochNumber epochtime.EpochTime, call []byte) error
QueueCall queues a call for processing by this node.
func (*Node) Quit ¶
func (n *Node) Quit() <-chan struct{}
Quit returns a channel that will be closed when the service terminates.
func (*Node) WatchStateTransitions ¶
func (n *Node) WatchStateTransitions() (<-chan NodeState, *pubsub.Subscription)
WatchStateTransitions subscribes to the node's state transitions.
type NodeState ¶
type NodeState interface { // Name returns the name of the state. Name() StateName }
NodeState is a node's state.
type StateNotReady ¶
type StateNotReady struct { }
StateNotReady is the not ready state.
func (StateNotReady) Name ¶
func (s StateNotReady) Name() StateName
Name returns the name of the state.
func (StateNotReady) String ¶
func (s StateNotReady) String() string
String returns a string representation of the state.
type StateWaitingForBatch ¶
type StateWaitingForBatch struct { }
StateWaitingForBatch is the waiting for batch state.
func (StateWaitingForBatch) Name ¶
func (s StateWaitingForBatch) Name() StateName
Name returns the name of the state.
func (StateWaitingForBatch) String ¶
func (s StateWaitingForBatch) String() string
String returns a string representation of the state.
type StateWaitingForFinalize ¶
type StateWaitingForFinalize struct { }
StateWaitingForFinalize is the waiting for finalize state.
func (StateWaitingForFinalize) Name ¶
func (s StateWaitingForFinalize) Name() StateName
Name returns the name of the state.
func (StateWaitingForFinalize) String ¶
func (s StateWaitingForFinalize) String() string
String returns a string representation of the state.