Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockLoader ¶ added in v0.32.0
type BlockLoader interface {
LoadUnexecuted(ctx context.Context) ([]flow.Identifier, error)
}
type CollectionFetcher ¶ added in v0.32.0
type CollectionFetcher interface { // FetchCollection decides which collection nodes to fetch the collection from // No error is expected during normal operation FetchCollection(blockID flow.Identifier, height uint64, guarantee *flow.CollectionGuarantee) error // Force forces the requests to be sent immediately Force() }
CollectionFetcher abstracts the details of how to fetch collection
type Engine ¶
type Engine struct { psEvents.Noop // satisfy protocol events consumer interface // contains filtered or unexported fields }
An Engine receives and saves incoming blocks.
func New ¶
func New( unit *engine.Unit, logger zerolog.Logger, net network.EngineRegistry, collectionFetcher CollectionFetcher, headers storage.Headers, blocks storage.Blocks, collections storage.Collections, executionEngine computation.ComputationManager, providerEngine provider.ProviderEngine, execState state.ExecutionState, metrics module.ExecutionMetrics, tracer module.Tracer, extLog bool, pruner *pruner.Pruner, uploader *uploader.Manager, stopControl *stop.StopControl, loader BlockLoader, ) (*Engine, error)
func (*Engine) BlockProcessable ¶ added in v0.10.0
func (e *Engine) BlockProcessable(b *flow.Header, _ *flow.QuorumCertificate)
BlockProcessable handles the new verified blocks (blocks that have passed consensus validation) received from the consensus nodes NOTE: BlockProcessable might be called multiple times for the same block. NOTE: Ready calls reloadUnexecutedBlocks during initialization, which handles dropped protocol events.
func (*Engine) Done ¶
func (e *Engine) Done() <-chan struct{}
Done returns a channel that will close when the engine has successfully stopped.
func (*Engine) OnCollection ¶
func (e *Engine) OnCollection(originID flow.Identifier, entity flow.Entity)
OnCollection is a callback for handling the collections requested by the collection requester.
func (*Engine) ProcessLocal ¶
ProcessLocal processes an event originating on the local node.
type Mempool ¶
type Mempool struct { ExecutionQueue *stdmap.Queues BlockByCollection *stdmap.BlockByCollections }
func (*Mempool) Run ¶
func (m *Mempool) Run(f func(blockByCollection *stdmap.BlockByCollectionBackdata, executionQueue *stdmap.QueuesBackdata) error) error