aboutsummaryrefslogtreecommitdiff
path: root/src/daemon/command_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/command_server.cpp')
-rw-r--r--src/daemon/command_server.cpp55
1 files changed, 52 insertions, 3 deletions
diff --git a/src/daemon/command_server.cpp b/src/daemon/command_server.cpp
index bedceffed..f0f4cd676 100644
--- a/src/daemon/command_server.cpp
+++ b/src/daemon/command_server.cpp
@@ -37,11 +37,19 @@ namespace p = std::placeholders;
t_command_server::t_command_server(
uint32_t ip
, uint16_t port
+ , bool is_rpc
+ , cryptonote::core_rpc_server* rpc_server
)
- : m_parser(ip, port)
+ : m_parser(ip, port, is_rpc, rpc_server)
, m_command_lookup()
+ , m_is_rpc(is_rpc)
{
m_command_lookup.set_handler(
+ "q"
+ , [] (const std::vector<std::string>& args) {return true;}
+ , "ignored"
+ );
+ m_command_lookup.set_handler(
"help"
, std::bind(&t_command_server::help, this, p::_1)
, "Show this help"
@@ -127,6 +135,11 @@ t_command_server::t_command_server(
, "Stop the daemon"
);
m_command_lookup.set_handler(
+ "exit"
+ , std::bind(&t_command_parser_executor::stop_daemon, &m_parser, p::_1)
+ , "Stop the daemon"
+ );
+ m_command_lookup.set_handler(
"print_status"
, std::bind(&t_command_parser_executor::print_status, &m_parser, p::_1)
, "Prints daemon status"
@@ -137,15 +150,35 @@ t_command_server::t_command_server(
, "limit <kB/s> - Set download and upload limit"
);
m_command_lookup.set_handler(
- "limit-up"
+ "limit_up"
, std::bind(&t_command_parser_executor::set_limit_up, &m_parser, p::_1)
, "limit <kB/s> - Set upload limit"
);
m_command_lookup.set_handler(
- "limit-down"
+ "limit_down"
, std::bind(&t_command_parser_executor::set_limit_down, &m_parser, p::_1)
, "limit <kB/s> - Set download limit"
);
+ m_command_lookup.set_handler(
+ "fast_exit"
+ , std::bind(&t_command_parser_executor::fast_exit, &m_parser, p::_1)
+ , "Exit"
+ );
+ m_command_lookup.set_handler(
+ "out_peers"
+ , std::bind(&t_command_parser_executor::out_peers, &m_parser, p::_1)
+ , "Set max limit of out peers"
+ );
+ m_command_lookup.set_handler(
+ "start_save_graph"
+ , std::bind(&t_command_parser_executor::start_save_graph, &m_parser, p::_1)
+ , "Start save data for dr monero"
+ );
+ m_command_lookup.set_handler(
+ "stop_save_graph"
+ , std::bind(&t_command_parser_executor::stop_save_graph, &m_parser, p::_1)
+ , "Stop save data for dr monero"
+ );
}
bool t_command_server::process_command_str(const std::string& cmd)
@@ -163,6 +196,22 @@ bool t_command_server::process_command_vec(const std::vector<std::string>& cmd)
return result;
}
+bool t_command_server::start_handling()
+{
+ if (m_is_rpc) return false;
+
+ m_command_lookup.start_handling("", get_commands_str());
+
+ return true;
+}
+
+void t_command_server::stop_handling()
+{
+ if (m_is_rpc) return;
+
+ m_command_lookup.stop_handling();
+}
+
bool t_command_server::help(const std::vector<std::string>& args)
{
std::cout << get_commands_str() << std::endl;