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§
Sourcefn transact_one_async(
&mut self,
tx: Self::Tx,
) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_
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.
Sourcefn transact_async(
&mut self,
tx: Self::Tx,
) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_
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.
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.