Skip to content

Commit

Permalink
GH-570 Add pause_at_block api endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
heifner committed Dec 3, 2024
1 parent d2c1e6d commit ceb6f20
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
4 changes: 3 additions & 1 deletion plugins/producer_api_plugin/producer_api_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,9 @@ void producer_api_plugin::plugin_startup() {
app().get_plugin<http_plugin>().add_api({
CALL_WITH_400(producer, producer_rw, producer, pause,
INVOKE_V_V(producer, pause), 201),
CALL_WITH_400(producer, producer_rw, producer, resume,
CALL_WITH_400(producer, producer_rw, producer, pause_at_block,
INVOKE_V_R(producer, pause_at_block, producer_plugin::pause_at_block_params), 201),
CALL_WITH_400(producer, producer_rw, producer, resume,
INVOKE_V_V(producer, resume), 201),
CALL_WITH_400(producer, producer_rw, producer, update_runtime_options,
INVOKE_V_R(producer, update_runtime_options, producer_plugin::runtime_options), 201),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,12 @@ class producer_plugin : public appbase::plugin<producer_plugin> {

controller::apply_blocks_result on_incoming_block();

struct pause_at_block_params {
chain::block_num_type block_num{0}; // block height to pause block evaluation/production
};

void pause();
void pause_at_block(const pause_at_block_params& params);
void resume();
bool paused() const;
void update_runtime_options(const runtime_options& options);
Expand Down Expand Up @@ -140,6 +145,9 @@ class producer_plugin : public appbase::plugin<producer_plugin> {

void log_failed_transaction(const transaction_id_type& trx_id, const chain::packed_transaction_ptr& packed_trx_ptr, const char* reason) const;

// initiate calls to process_incoming_block to process all queued blocks
void process_blocks();

// thread-safe, called when a new block is received
void received_block(uint32_t block_num, chain::fork_db_add_t fork_db_add_result);

Expand Down Expand Up @@ -168,3 +176,4 @@ FC_REFLECT(eosio::producer_plugin::get_account_ram_corrections_result, (rows)(mo
FC_REFLECT(eosio::producer_plugin::get_unapplied_transactions_params, (lower_bound)(limit)(time_limit_ms))
FC_REFLECT(eosio::producer_plugin::unapplied_trx, (trx_id)(expiration)(trx_type)(first_auth)(first_receiver)(first_action)(total_actions)(billed_cpu_time_us)(size))
FC_REFLECT(eosio::producer_plugin::get_unapplied_transactions_result, (size)(incoming_size)(trxs)(more))
FC_REFLECT(eosio::producer_plugin::pause_at_block_params, (block_num));

0 comments on commit ceb6f20

Please sign in to comment.