diff options
Diffstat (limited to 'src/daemon')
-rw-r--r-- | src/daemon/command_line_args.h | 41 | ||||
-rw-r--r-- | src/daemon/core.h | 3 | ||||
-rw-r--r-- | src/daemon/daemon.cpp | 14 | ||||
-rw-r--r-- | src/daemon/main.cpp | 20 |
4 files changed, 35 insertions, 43 deletions
diff --git a/src/daemon/command_line_args.h b/src/daemon/command_line_args.h index ee6167b6a..efbae488c 100644 --- a/src/daemon/command_line_args.h +++ b/src/daemon/command_line_args.h @@ -31,20 +31,35 @@ #include "common/command_line.h" #include "cryptonote_config.h" +#include "daemonizer/daemonizer.h" namespace daemon_args { std::string const WINDOWS_SERVICE_NAME = "Monero Daemon"; - const command_line::arg_descriptor<std::string> arg_config_file = { + const command_line::arg_descriptor<std::string, false, true> arg_config_file = { "config-file" , "Specify configuration file" - , std::string(CRYPTONOTE_NAME ".conf") + , (daemonizer::get_default_data_dir() / std::string(CRYPTONOTE_NAME ".conf")).string() + , cryptonote::arg_testnet_on + , [](bool testnet, bool defaulted, std::string val) { + if (testnet && defaulted) + return (daemonizer::get_default_data_dir() / "testnet" / + std::string(CRYPTONOTE_NAME ".conf")).string(); + return val; + } }; - const command_line::arg_descriptor<std::string> arg_log_file = { + const command_line::arg_descriptor<std::string, false, true> arg_log_file = { "log-file" , "Specify log file" - , "" + , (daemonizer::get_default_data_dir() / std::string(CRYPTONOTE_NAME ".log")).string() + , cryptonote::arg_testnet_on + , [](bool testnet, bool defaulted, std::string val) { + if (testnet && defaulted) + return (daemonizer::get_default_data_dir() / "testnet" / + std::string(CRYPTONOTE_NAME ".log")).string(); + return val; + } }; const command_line::arg_descriptor<std::size_t> arg_max_log_file_size = { "max-log-file-size" @@ -76,16 +91,16 @@ namespace daemon_args , "127.0.0.1" }; - const command_line::arg_descriptor<std::string> arg_zmq_rpc_bind_port = { + const command_line::arg_descriptor<std::string, false, true> arg_zmq_rpc_bind_port = { "zmq-rpc-bind-port" - , "Port for ZMQ RPC server to listen on" - , std::to_string(config::ZMQ_RPC_DEFAULT_PORT) - }; - - const command_line::arg_descriptor<std::string> arg_zmq_testnet_rpc_bind_port = { - "zmq-testnet-rpc-bind-port" - , "Port for testnet ZMQ RPC server to listen on" - , std::to_string(config::testnet::ZMQ_RPC_DEFAULT_PORT) + , "Port for ZMQ RPC server to listen on" + , std::to_string(config::ZMQ_RPC_DEFAULT_PORT) + , cryptonote::arg_testnet_on + , [](bool testnet, bool defaulted, std::string val) { + if (testnet && defaulted) + return std::to_string(config::testnet::ZMQ_RPC_DEFAULT_PORT); + return val; + } }; } // namespace daemon_args diff --git a/src/daemon/core.h b/src/daemon/core.h index f00dffccc..1ff696bef 100644 --- a/src/daemon/core.h +++ b/src/daemon/core.h @@ -69,8 +69,7 @@ public: std::string get_config_subdir() const { bool testnet = command_line::get_arg(m_vm_HACK, cryptonote::arg_testnet_on); - auto p2p_bind_arg = testnet ? nodetool::arg_testnet_p2p_bind_port : nodetool::arg_p2p_bind_port; - std::string port = command_line::get_arg(m_vm_HACK, p2p_bind_arg); + std::string port = command_line::get_arg(m_vm_HACK, nodetool::arg_p2p_bind_port); if ((!testnet && port != std::to_string(::config::P2P_DEFAULT_PORT)) || (testnet && port != std::to_string(::config::testnet::P2P_DEFAULT_PORT))) { return port; diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index 9b15e62ca..8053932fe 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -77,10 +77,10 @@ public: const auto testnet = command_line::get_arg(vm, cryptonote::arg_testnet_on); const auto restricted = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_restricted_rpc); - const auto main_rpc_port = command_line::get_arg(vm, testnet ? cryptonote::core_rpc_server::arg_testnet_rpc_bind_port : cryptonote::core_rpc_server::arg_rpc_bind_port); + const auto main_rpc_port = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_rpc_bind_port); rpcs.emplace_back(new t_rpc{vm, core, p2p, restricted, testnet, main_rpc_port, "core"}); - auto restricted_rpc_port_arg = testnet ? cryptonote::core_rpc_server::arg_testnet_rpc_restricted_bind_port : cryptonote::core_rpc_server::arg_rpc_restricted_bind_port; + auto restricted_rpc_port_arg = cryptonote::core_rpc_server::arg_rpc_restricted_bind_port; if(!command_line::is_arg_defaulted(vm, restricted_rpc_port_arg)) { auto restricted_rpc_port = command_line::get_arg(vm, restricted_rpc_port_arg); @@ -101,15 +101,7 @@ t_daemon::t_daemon( ) : mp_internals{new t_internals{vm}} { - bool testnet = command_line::get_arg(vm, cryptonote::arg_testnet_on); - if (testnet) - { - zmq_rpc_bind_port = command_line::get_arg(vm, daemon_args::arg_zmq_testnet_rpc_bind_port); - } - else - { - zmq_rpc_bind_port = command_line::get_arg(vm, daemon_args::arg_zmq_rpc_bind_port); - } + zmq_rpc_bind_port = command_line::get_arg(vm, daemon_args::arg_zmq_rpc_bind_port); zmq_rpc_bind_address = command_line::get_arg(vm, daemon_args::arg_zmq_rpc_bind_ip); } diff --git a/src/daemon/main.cpp b/src/daemon/main.cpp index 7bac2d3d8..752a92ba4 100644 --- a/src/daemon/main.cpp +++ b/src/daemon/main.cpp @@ -73,26 +73,20 @@ int main(int argc, char const * argv[]) po::options_description core_settings("Settings"); po::positional_options_description positional_options; { - bf::path default_data_dir = daemonizer::get_default_data_dir(); - bf::path default_testnet_data_dir = {default_data_dir / "testnet"}; - // Misc Options command_line::add_arg(visible_options, command_line::arg_help); command_line::add_arg(visible_options, command_line::arg_version); command_line::add_arg(visible_options, daemon_args::arg_os_version); - bf::path default_conf = default_data_dir / std::string(CRYPTONOTE_NAME ".conf"); - command_line::add_arg(visible_options, daemon_args::arg_config_file, default_conf.string()); + command_line::add_arg(visible_options, daemon_args::arg_config_file); // Settings - bf::path default_log = default_data_dir / std::string(CRYPTONOTE_NAME ".log"); - command_line::add_arg(core_settings, daemon_args::arg_log_file, default_log.string()); + command_line::add_arg(core_settings, daemon_args::arg_log_file); command_line::add_arg(core_settings, daemon_args::arg_log_level); command_line::add_arg(core_settings, daemon_args::arg_max_log_file_size); command_line::add_arg(core_settings, daemon_args::arg_max_concurrency); command_line::add_arg(core_settings, daemon_args::arg_zmq_rpc_bind_ip); command_line::add_arg(core_settings, daemon_args::arg_zmq_rpc_bind_port); - command_line::add_arg(core_settings, daemon_args::arg_zmq_testnet_rpc_bind_port); daemonizer::init_options(hidden_options, visible_options); daemonize::t_executor::init_options(core_settings); @@ -154,10 +148,6 @@ int main(int argc, char const * argv[]) return 0; } - bool testnet_mode = command_line::get_arg(vm, cryptonote::arg_testnet_on); - - auto data_dir_arg = testnet_mode ? cryptonote::arg_testnet_data_dir : cryptonote::arg_data_dir; - // data_dir // default: e.g. ~/.bitmonero/ or ~/.bitmonero/testnet // if data-dir argument given: @@ -166,7 +156,7 @@ int main(int argc, char const * argv[]) // Create data dir if it doesn't exist boost::filesystem::path data_dir = boost::filesystem::absolute( - command_line::get_arg(vm, data_dir_arg)); + command_line::get_arg(vm, cryptonote::arg_data_dir)); // FIXME: not sure on windows implementation default, needs further review //bf::path relative_path_base = daemonizer::get_relative_path_base(vm); @@ -226,10 +216,6 @@ int main(int argc, char const * argv[]) const cryptonote::rpc_args::descriptors arg{}; auto rpc_ip_str = command_line::get_arg(vm, arg.rpc_bind_ip); auto rpc_port_str = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_rpc_bind_port); - if (testnet_mode) - { - rpc_port_str = command_line::get_arg(vm, cryptonote::core_rpc_server::arg_testnet_rpc_bind_port); - } uint32_t rpc_ip; uint16_t rpc_port; |