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.
type Option ¶ added in v0.27.0
type Option func(*Engine)
func WithChannel ¶ added in v0.27.0
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