Skip to content

Commit

Permalink
Merge pull request EOSIO#2546 from EOSIO/2544
Browse files Browse the repository at this point in the history
Add shared memory size option
  • Loading branch information
heifner authored Apr 23, 2018
2 parents 8e723fd + c6287c2 commit 3634e6c
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions plugins/chain_plugin/chain_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class chain_plugin_impl {
time_point genesis_timestamp;
uint32_t skip_flags = skip_nothing;
bool readonly = false;
uint64_t shared_memory_size;
flat_map<uint32_t,block_id_type> loaded_checkpoints;

fc::optional<fork_database> fork_db;
Expand Down Expand Up @@ -75,6 +76,8 @@ void chain_plugin::set_program_options(options_description& cli, options_descrip
("max-deferred-transaction-time", bpo::value<int32_t>()->default_value(20),
"Limits the maximum time (in milliseconds) that is allowed a to push deferred transactions at the start of a block")
("wasm-runtime", bpo::value<eosio::chain::wasm_interface::vm_type>()->value_name("wavm/binaryen"), "Override default WASM runtime")
("shared-memory-size-mb", bpo::value<uint64_t>()->default_value(config::default_shared_memory_size / (1024 * 1024)), "Minimum size MB of database shared memory file")

#warning TODO: rate limiting
/*("per-authorized-account-transaction-msg-rate-limit-time-frame-sec", bpo::value<uint32_t>()->default_value(default_per_auth_account_time_frame_seconds),
"The time frame, in seconds, that the per-authorized-account-transaction-msg-rate-limit is imposed over.")
Expand Down Expand Up @@ -128,6 +131,9 @@ void chain_plugin::plugin_initialize(const variables_map& options) {
else
my->block_log_dir = bld;
}
if (options.count("shared-memory-size-mb")) {
my->shared_memory_size = options.at("shared-memory-size-mb").as<uint64_t>() * 1024 * 1024;
}

if (options.at("replay-blockchain").as<bool>()) {
ilog("Replay requested: wiping database");
Expand Down Expand Up @@ -182,6 +188,7 @@ void chain_plugin::plugin_startup()
my->chain_config->block_log_dir = my->block_log_dir;
my->chain_config->shared_memory_dir = app().data_dir() / default_shared_memory_dir;
my->chain_config->read_only = my->readonly;
my->chain_config->shared_memory_size = my->shared_memory_size;
my->chain_config->genesis = fc::json::from_file(my->genesis_file).as<contracts::genesis_state_type>();
if (my->genesis_timestamp.sec_since_epoch() > 0) {
my->chain_config->genesis.initial_timestamp = my->genesis_timestamp;
Expand Down

0 comments on commit 3634e6c

Please sign in to comment.