Skip to main content

ExecuteEvmAsync

Trait ExecuteEvmAsync 

Source
pub trait ExecuteEvmAsync: ExecuteEvm {
    // Required methods
    fn transact_one_async(
        &mut self,
        tx: Self::Tx,
    ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_;
    fn transact_async(
        &mut self,
        tx: Self::Tx,
    ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_;
}
Expand description

Async extension of the ExecuteEvm trait that runs execution on an async fiber.

Required Methods§

Source

fn transact_one_async( &mut self, tx: Self::Tx, ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_

Execute transaction and store state inside journal on an async fiber.

Source

fn transact_async( &mut self, tx: Self::Tx, ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_

Transact the given transaction and finalize in a single operation on an async fiber.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<CTX, INSP, INST, PRECOMPILES> ExecuteEvmAsync for Evm<CTX, INSP, INST, PRECOMPILES, EthFrame<EthInterpreter>>
where CTX: ContextTr<Journal: JournalTr<State = EvmState>> + ContextSetters, INST: InstructionProvider<Context = CTX, InterpreterTypes = EthInterpreter>, PRECOMPILES: PrecompileProvider<CTX, Output = InterpreterResult>, ExecutionResult<HaltReason>: Send, EvmState: Send, EVMError<<CTX::Db as Database>::Error, InvalidTransaction>: Send, <CTX as ContextTr>::Tx: Send,

Available on crate feature asyncdb only.
Source§

fn transact_one_async( &mut self, tx: Self::Tx, ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_

Source§

fn transact_async( &mut self, tx: Self::Tx, ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_

Implementors§