follower

package
v0.29.17-consensus-fix Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2023 License: AGPL-3.0 Imports: 24 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Engine

type Engine struct {
	*component.ComponentManager
	// contains filtered or unexported fields
}

Engine follows and maintains the local copy of the protocol state. It is a passive (read-only) version of the compliance engine. The compliance engine is employed by consensus nodes (active consensus participants) where the Follower engine is employed by all other node roles. Implements consensus.Compliance interface.

func New

func New(
	log zerolog.Logger,
	net network.Network,
	me module.Local,
	engMetrics module.EngineMetrics,
	mempoolMetrics module.MempoolMetrics,
	cleaner storage.Cleaner,
	headers storage.Headers,
	payloads storage.Payloads,
	state protocol.MutableState,
	pending module.PendingBlockBuffer,
	follower module.HotStuffFollower,
	validator hotstuff.Validator,
	sync module.BlockRequester,
	tracer module.Tracer,
	opts ...Option,
) (*Engine, error)

func (*Engine) OnBlockProposal added in v0.29.0

func (e *Engine) OnBlockProposal(_ flow.Slashable[messages.BlockProposal])

OnBlockProposal errors when called since follower engine doesn't support direct ingestion via internal method.

func (*Engine) OnSyncedBlock added in v0.29.0

func (e *Engine) OnSyncedBlock(synced flow.Slashable[messages.BlockProposal])

OnSyncedBlock performs processing of incoming block by pushing into queue and notifying worker.

func (*Engine) Process

func (e *Engine) Process(channel channels.Channel, originID flow.Identifier, message 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.

type Option added in v0.27.0

type Option func(*Engine)

func WithChannel added in v0.27.0

func WithChannel(channel channels.Channel) Option

WithChannel sets the channel the follower engine will use to receive blocks.

func WithComplianceOptions added in v0.27.0

func WithComplianceOptions(opts ...compliance.Opt) Option

WithComplianceOptions sets options for the engine's compliance config

Jump to

Keyboard shortcuts

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