compliance

package
v0.14.10 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2021 License: AGPL-3.0 Imports: 18 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

Engine is the consensus engine, responsible for handling communication for the embedded consensus algorithm.

func New

New creates a new consensus propagation engine.

func (*Engine) BroadcastProposal

func (e *Engine) BroadcastProposal(header *flow.Header) error

BroadcastProposal will propagate a block proposal to all non-local consensus nodes. Note the header has incomplete fields, because it was converted from a hotstuff.

func (*Engine) BroadcastProposalWithDelay

func (e *Engine) BroadcastProposalWithDelay(header *flow.Header, delay time.Duration) error

BroadcastProposalWithDelay will propagate a block proposal to all non-local consensus nodes. Note the header has incomplete fields, because it was converted from a hotstuff.

func (*Engine) Done

func (e *Engine) Done() <-chan struct{}

Done returns a done channel that is closed once the engine has fully stopped. For the consensus engine, we wait for hotstuff to finish.

func (*Engine) Process

func (e *Engine) Process(originID flow.Identifier, event interface{}) error

Process processes the given event from the node with the given origin ID in a blocking manner. It returns the potential processing error when done.

func (*Engine) ProcessLocal

func (e *Engine) ProcessLocal(event interface{}) error

ProcessLocal processes an event originating on the local node.

func (*Engine) Ready

func (e *Engine) Ready() <-chan struct{}

Ready returns a ready channel that is closed once the engine has fully started. For consensus engine, this is true once the underlying consensus algorithm has started.

func (*Engine) SendVote

func (e *Engine) SendVote(blockID flow.Identifier, view uint64, sigData []byte, recipientID flow.Identifier) error

SendVote will send a vote to the desired node.

func (*Engine) Submit

func (e *Engine) Submit(originID flow.Identifier, event interface{})

Submit submits the given event from the node with the given origin ID for processing in a non-blocking manner. It returns instantly and logs a potential processing error internally when done.

func (*Engine) SubmitLocal

func (e *Engine) SubmitLocal(event interface{})

SubmitLocal submits an event originating on the local node.

func (*Engine) WithConsensus

func (e *Engine) WithConsensus(hot module.HotStuff) *Engine

WithConsensus adds the consensus algorithm to the engine. This must be called before the engine can start.

Jump to

Keyboard shortcuts

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