committee

package
v0.20.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2020 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
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) CheckTx

func (n *Node) CheckTx(ctx context.Context, call []byte) error

CheckTx checks the given call in the node's runtime.

func (*Node) Cleanup

func (n *Node) Cleanup()

Cleanup performs the service specific post-termination cleanup.

func (*Node) Dispatch

func (n *Node) Dispatch(committeeID hash.Hash, batch transaction.RawBatch) error

Dispatch dispatches a batch to the executor committee.

func (*Node) HandleEpochTransitionLocked

func (n *Node) HandleEpochTransitionLocked(epoch *committee.EpochSnapshot)

HandleEpochTransitionLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.

func (*Node) HandleNewBlockEarlyLocked

func (n *Node) HandleNewBlockEarlyLocked(blk *block.Block)

HandleNewBlockEarlyLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.

func (*Node) HandleNewBlockLocked

func (n *Node) HandleNewBlockLocked(blk *block.Block)

HandleNewBlockLocked implements NodeHooks. Guarded by n.commonNode.CrossNode.

func (*Node) HandleNewEventLocked

func (n *Node) HandleNewEventLocked(ev *roothash.Event)

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

func (n *Node) HandlePeerMessage(ctx context.Context, message *p2p.Message) (bool, error)

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

func (n *Node) IsTransactionQueued(ctx context.Context, id hash.Hash) (bool, error)

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

func (n *Node) Name() string

Name returns the service name.

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

func (n *Node) Start() error

Start starts the service.

func (*Node) Stop

func (n *Node) Stop()

Stop halts the service.

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 StateName

type StateName string

StateName is a symbolic state without the attached values.

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

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

Name returns the name of the state.

func (StateWaitingForFinalize) String

func (s StateWaitingForFinalize) String() string

String returns a string representation of the state.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL