6#ifndef OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNER_H_
7#define OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNER_H_
28 lua_runner(std::shared_ptr<logging::log> logger,
35 std::shared_ptr<secp256k1_context> secp,
36 std::shared_ptr<thread_pool> t_pool,
42 [[nodiscard]]
auto run() ->
bool override;
48 std::shared_ptr<lua_State> m_state;
50 void contract_epilogue(
int n_results);
52 auto get_stack_string(
int index) -> std::optional<buffer>;
54 auto get_stack_integer(
int index) -> std::optional<int64_t>;
56 void schedule_contract();
61 static auto check_sig(lua_State* L) -> int;
Buffer to store and retrieve byte data.
Interface for a contract runner.
std::function< void(run_return_type)> run_callback_type
Callback type for function execution.
std::function< bool(broker::key_type, broker::lock_type, broker::interface::try_lock_callback_type)> try_lock_callback_type
Callback function type for acquiring locks during function execution.
parsec::ticket_machine::ticket_number_type ticket_number_type
Type alias for a ticket number.
static constexpr auto initial_lock_type
Lock type to acquire when requesting the function code.
auto run() -> bool override
Begins function execution.
std::variant< value_type, error_code, runtime_locking_shard::shard_error > try_lock_return_type
Return type from a try lock operation.
Configuration parameters for a phase two system.