Documentation ¶
Overview ¶
Package pusher implements an engine for providing access to resources held by the collection node, including collections, collection guarantees, and transactions.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
Engine is part of the Collection Node. It broadcasts finalized collections ("collection guarantees") that the cluster generates to Consensus Nodes for inclusion in blocks.
func New ¶
func New( log zerolog.Logger, net network.EngineRegistry, state protocol.State, engMetrics module.EngineMetrics, mempoolMetrics module.MempoolMetrics, me module.Local, collections storage.Collections, transactions storage.Transactions, ) (*Engine, error)
New creates a new pusher engine.
func (*Engine) Process ¶
Process is called by the networking layer, when peers broadcast messages with this node as one of the recipients. The protocol specifies that Collector nodes broadcast Collection Guarantees to Consensus Nodes and _only_ those. When the pusher engine (running only on Collectors) receives a message, this message is evidence of byzantine behavior. Byzantine inputs are internally handled by the pusher.Engine and do *not* result in error returns. No errors expected during normal operation (including byzantine inputs).
func (*Engine) SubmitCollectionGuarantee ¶
func (e *Engine) SubmitCollectionGuarantee(guarantee *flow.CollectionGuarantee)
SubmitCollectionGuarantee adds a collection guarantee to the engine's queue to later be published to consensus nodes.