executor

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2021 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AsyncBlockExecutor

type AsyncBlockExecutor interface {
	BlockExecutor
	Stop()
	//Asynchronous acquisition block execution results
	ExecuteStatus() <-chan *BlockExecuteStatus
}

AsyncBlockExecutor defines the interface of the asynchronous executor.

type AsyncExecutor

type AsyncExecutor struct {
	AsyncBlockExecutor
	// contains filtered or unexported fields
}

AsyncExecutor async block executor implement.

func NewAsyncExecutor

func NewAsyncExecutor(executeFn Executor) *AsyncExecutor

NewAsyncExecutor new a async block executor.

func (*AsyncExecutor) Execute

func (exe *AsyncExecutor) Execute(block *types.Block, parent *types.Block) error

Execute async execute block.

func (*AsyncExecutor) ExecuteStatus

func (exe *AsyncExecutor) ExecuteStatus() <-chan *BlockExecuteStatus

ExecuteStatus return a channel for notify block execute result.

func (*AsyncExecutor) Stop

func (exe *AsyncExecutor) Stop()

Stop stop async exector.

type BlockExecuteStatus

type BlockExecuteStatus struct {
	Hash   common.Hash
	Number uint64
	Err    error
}

BlockExecuteStatus is block execution results, including block Hash, block Number, error message

type BlockExecutor

type BlockExecutor interface {
	//Execution block, you need to pass in the parent block to find the parent block state
	Execute(block *types.Block, parent *types.Block) error
}

BlockExecutor defines the interface of the executor.

type Executor

type Executor func(block *types.Block, parent *types.Block) error

Executor defines an execution function.

Jump to

Keyboard shortcuts

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