未验证 提交 3634e6c0 编写于 作者: K Kevin Heifner 提交者: GitHub

Merge pull request #2546 from EOSIO/2544

Add shared memory size option
......@@ -40,6 +40,7 @@ public:
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;
......@@ -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.")
......@@ -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");
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册