Executes EVM transactions, implementing the runner interface.
More...
#include <impl.hpp>
|
| evm_runner (std::shared_ptr< logging::log > logger, const cbdc::parsec::config &cfg, runtime_locking_shard::value_type function, parameter_type param, bool is_readonly_run, run_callback_type result_callback, try_lock_callback_type try_lock_callback, std::shared_ptr< secp256k1_context > secp, std::shared_ptr< thread_pool > t_pool, ticket_number_type ticket_number) |
| Constructor.
|
|
| ~evm_runner () override |
| Blocks until the transaction has completed and all processing threads have ended.
|
|
| evm_runner (const evm_runner &)=delete |
|
auto | operator= (const evm_runner &) -> evm_runner &=delete |
|
| evm_runner (evm_runner &&)=delete |
|
auto | operator= (evm_runner &&) -> evm_runner &=delete |
|
auto | run () -> bool override |
| Begin executing the transaction asynchronously.
|
|
| interface (std::shared_ptr< logging::log > logger, const cbdc::parsec::config &cfg, runtime_locking_shard::value_type function, parameter_type param, bool is_readonly_run, run_callback_type result_callback, try_lock_callback_type try_lock_callback, std::shared_ptr< secp256k1_context > secp, std::shared_ptr< thread_pool > t_pool, ticket_number_type ticket_number) |
| Constructor.
|
|
virtual | ~interface ()=default |
|
| interface (const interface &)=delete |
|
auto | operator= (const interface &) -> interface &=delete |
|
| interface (interface &&)=delete |
|
auto | operator= (interface &&) -> interface &=delete |
|
|
static constexpr auto | initial_lock_type = broker::lock_type::write |
| Initial lock type for the agent to request when retrieving the function key.
|
|
|
enum class | error_code {
result_value_type
, result_key_type
, result_type
, result_count
,
exec_error
, function_load
, internal_error
, yield_count
,
yield_type
, lock_error
, wounded
} |
| Error codes return during function execution. More...
|
|
using | ticket_number_type = parsec::ticket_machine::ticket_number_type |
| Type alias for a ticket number.
|
|
using | run_return_type |
| Return type from executing a function.
|
|
using | run_callback_type = std::function<void(run_return_type)> |
| Callback type for function execution.
|
|
using | try_lock_callback_type |
| Callback function type for acquiring locks during function execution.
|
|
using | factory_type |
| Factory function type for instantiating new runners.
|
|
Executes EVM transactions, implementing the runner interface.
Definition at line 47 of file agent/runners/evm/impl.hpp.
◆ evm_runner() [1/3]
Constructor.
- Parameters
-
logger | log instance. |
cfg | config reference. |
function | key of function bytecode to execute. |
param | parameter to pass to function. |
is_readonly_run | true if runner execution should not result in state changes. |
result_callback | function to call with function execution result. |
try_lock_callback | function to call for the function to request key locks. |
secp | shared context for libsecp256k1. |
t_pool | shared thread pool between agents. |
ticket_number | ticket number for the ticket managed by this runner instance. |
Definition at line 20 of file agent/runners/evm/impl.cpp.
◆ ~evm_runner()
cbdc::parsec::agent::runner::evm_runner::~evm_runner |
( |
| ) |
|
|
override |
◆ evm_runner() [2/3]
cbdc::parsec::agent::runner::evm_runner::evm_runner |
( |
const evm_runner & | | ) |
|
|
delete |
◆ evm_runner() [3/3]
cbdc::parsec::agent::runner::evm_runner::evm_runner |
( |
evm_runner && | | ) |
|
|
delete |
◆ operator=() [1/2]
auto cbdc::parsec::agent::runner::evm_runner::operator= |
( |
const evm_runner & | | ) |
-> evm_runner &=delete |
|
delete |
◆ operator=() [2/2]
◆ run()
auto cbdc::parsec::agent::runner::evm_runner::run |
( |
| ) |
-> bool |
|
nodiscardoverridevirtual |
◆ initial_lock_type
auto cbdc::parsec::agent::runner::evm_runner::initial_lock_type = broker::lock_type::write |
|
staticconstexpr |
The documentation for this class was generated from the following files: