From cf932f50e7469f76a378fa2471ab7ab32492d1a9 Mon Sep 17 00:00:00 2001 From: sowle Date: Wed, 18 Mar 2020 15:14:10 +0300 Subject: [PATCH] CLI option change: explicit-predownload -> force-predownload --- src/common/command_line.cpp | 2 +- src/common/command_line.h | 2 +- src/common/pre_download.h | 6 ++++-- src/daemon/daemon.cpp | 4 ++-- src/wallet/wallets_manager.cpp | 4 ++-- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/common/command_line.cpp b/src/common/command_line.cpp index c714ea63..645057eb 100644 --- a/src/common/command_line.cpp +++ b/src/common/command_line.cpp @@ -33,7 +33,7 @@ namespace command_line const arg_descriptor arg_db_engine = { "db-engine", "Specify database engine for storage. May be \"lmdb\"(default) or \"mdbx\"", ARG_DB_ENGINE_LMDB, false }; const arg_descriptor arg_no_predownload = { "no-predownload", "Do not pre-download blockchain database", }; - const arg_descriptor arg_explicit_predownload = { "explicit-predownload", "Pre-download blockchain database regardless of it's status", }; + const arg_descriptor arg_force_predownload = { "force-predownload", "Pre-download blockchain database regardless of it's status", }; const arg_descriptor arg_validate_predownload = { "validate-predownload", "Paranoid mode, re-validate each block from pre-downloaded database and rebuild own database", }; const arg_descriptor arg_predownload_link = { "predownload-link", "Override url for blockchain database pre-downloading", "", true }; diff --git a/src/common/command_line.h b/src/common/command_line.h index 4971bb13..9d6bec47 100644 --- a/src/common/command_line.h +++ b/src/common/command_line.h @@ -212,7 +212,7 @@ namespace command_line extern const arg_descriptor arg_enable_offers_service; extern const arg_descriptor arg_db_engine; extern const arg_descriptor arg_no_predownload; - extern const arg_descriptor arg_explicit_predownload; + extern const arg_descriptor arg_force_predownload; extern const arg_descriptor arg_validate_predownload; extern const arg_descriptor arg_predownload_link; } diff --git a/src/common/pre_download.h b/src/common/pre_download.h index 6313a17a..2c93a7a2 100644 --- a/src/common/pre_download.h +++ b/src/common/pre_download.h @@ -27,6 +27,8 @@ namespace tools static constexpr pre_download_entry c_pre_download_mdbx = { "http://95.217.43.225/pre-download/zano_testnet_mdbx_94_99000.pak", "017598ebbbedd45c65870b290387ab1ca5bdd813f0384739422ed4bf16f21ef8", 166013858, 268431360 }; #endif + static constexpr uint64_t pre_download_min_size_difference = 512 * 1024 * 1024; // minimum difference in size between local DB and the downloadable one to start downloading + template bool process_predownload(const boost::program_options::variables_map& vm, callback_t cb_should_stop) { @@ -47,7 +49,7 @@ namespace tools boost::system::error_code ec; uint64_t sz = boost::filesystem::file_size(db_main_file_path, ec); - if (!(ec || (pre_download.unpacked_size > sz && pre_download.unpacked_size - sz > 500000000) || command_line::has_arg(vm, command_line::arg_explicit_predownload)) ) + if (!(ec || (pre_download.unpacked_size > sz && pre_download.unpacked_size - sz > pre_download_min_size_difference) || command_line::has_arg(vm, command_line::arg_force_predownload)) ) { LOG_PRINT_MAGENTA("Pre-downloading not needed (db file size = " << sz << ")", LOG_LEVEL_0); return true; @@ -57,7 +59,7 @@ namespace tools std::string downloading_file_path = db_main_file_path + ".download"; - LOG_PRINT_MAGENTA("Trying to download blockchain database file from " << url << " ...", LOG_LEVEL_0); + LOG_PRINT_MAGENTA("Trying to download blockchain database from " << url << " ...", LOG_LEVEL_0); epee::net_utils::http::interruptible_http_client cl; crypto::stream_cn_hash hash_stream; diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index f19bc336..a9b9ad23 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -150,7 +150,7 @@ int main(int argc, char* argv[]) command_line::add_arg(desc_cmd_sett, command_line::arg_enable_offers_service); command_line::add_arg(desc_cmd_sett, command_line::arg_no_predownload); - command_line::add_arg(desc_cmd_sett, command_line::arg_explicit_predownload); + command_line::add_arg(desc_cmd_sett, command_line::arg_force_predownload); command_line::add_arg(desc_cmd_sett, command_line::arg_validate_predownload); command_line::add_arg(desc_cmd_sett, command_line::arg_predownload_link); @@ -279,7 +279,7 @@ int main(int argc, char* argv[]) bool res = false; //do pre_download if needed - if (!command_line::has_arg(vm, command_line::arg_no_predownload) || command_line::has_arg(vm, command_line::arg_explicit_predownload)) + if (!command_line::has_arg(vm, command_line::arg_no_predownload) || command_line::has_arg(vm, command_line::arg_force_predownload)) { auto is_stop_signal_sent = [&p2psrv]() -> bool { return static_cast::connection_context>*>(&p2psrv)->is_stop_signal_sent(); diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp index 0a36ae49..ebc4217f 100644 --- a/src/wallet/wallets_manager.cpp +++ b/src/wallet/wallets_manager.cpp @@ -145,7 +145,7 @@ bool wallets_manager::init(int argc, char* argv[], view::i_view* pview_handler) command_line::add_arg(desc_cmd_sett, arg_enable_qt_logs); command_line::add_arg(desc_cmd_sett, arg_disable_logs_init); command_line::add_arg(desc_cmd_sett, command_line::arg_no_predownload); - command_line::add_arg(desc_cmd_sett, command_line::arg_explicit_predownload); + command_line::add_arg(desc_cmd_sett, command_line::arg_force_predownload); command_line::add_arg(desc_cmd_sett, command_line::arg_validate_predownload); command_line::add_arg(desc_cmd_sett, command_line::arg_predownload_link); @@ -327,7 +327,7 @@ bool wallets_manager::init_local_daemon() tools::db::db_backend_selector dbbs; bool res = dbbs.init(m_vm); CHECK_AND_ASSERT_AND_SET_GUI(res, "Failed to initialize db_backend_selector"); - if (!command_line::has_arg(m_vm, command_line::arg_no_predownload) || command_line::has_arg(m_vm, command_line::arg_explicit_predownload)) + if (!command_line::has_arg(m_vm, command_line::arg_no_predownload) || command_line::has_arg(m_vm, command_line::arg_force_predownload)) { auto last_update = std::chrono::system_clock::now(); bool r = tools::process_predownload(m_vm, [&](uint64_t total_bytes, uint64_t received_bytes){