Documentation ¶
Index ¶
- type Engine
- func (e *Engine) Done() <-chan struct{}
- func (e *Engine) OnBlockIncorporated(*model.Block)
- func (e *Engine) OnDoubleProposeDetected(*model.Block, *model.Block)
- func (e *Engine) OnFinalizedBlock(block *model.Block)
- func (e *Engine) Process(originID flow.Identifier, event interface{}) error
- func (e *Engine) ProcessLocal(event interface{}) error
- func (e *Engine) Ready() <-chan struct{}
- func (e *Engine) Submit(originID flow.Identifier, event interface{})
- func (e *Engine) SubmitLocal(event interface{})
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
}
func New ¶
func New( log zerolog.Logger, metrics module.VerificationMetrics, tracer module.Tracer, net module.Network, me module.Local, match network.Engine, cachedReceipts mempool.ReceiptDataPacks, pendingReceipts mempool.ReceiptDataPacks, readyReceipts mempool.ReceiptDataPacks, headerStorage storage.Headers, processedResultIDs mempool.Identifiers, pendingReceiptIDsByBlock mempool.IdentifierMap, receiptsIDsByResult mempool.IdentifierMap, blockIDsCache mempool.Identifiers, processInterval time.Duration, ) (*Engine, error)
func (*Engine) Done ¶
func (e *Engine) Done() <-chan struct{}
Done returns a channel that is closed when the verifier engine is done.
func (*Engine) OnBlockIncorporated ¶
To implement FinalizationConsumer
func (*Engine) OnDoubleProposeDetected ¶
To implement FinalizationConsumer
func (*Engine) OnFinalizedBlock ¶
OnFinalizedBlock is part of implementing FinalizationConsumer interface On receiving a block, it caches the block ID to be checked in the next onTimer loop.
OnFinalizedBlock notifications are produced by the Finalization Logic whenever a block has been finalized. They are emitted in the order the blocks are finalized. Prerequisites: Implementation must be concurrency safe; Non-blocking; and must handle repetition of the same events (with some processing overhead).
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 ¶
ProcessLocal processes an event originating on the local node.
func (*Engine) Ready ¶
func (e *Engine) Ready() <-chan struct{}
Ready returns a channel that is closed when the finder engine is ready.
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.