aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/core_rpc_server.cpp
diff options
context:
space:
mode:
authorThomas Winget <tewinget@gmail.com>2015-02-05 04:11:20 -0500
committerThomas Winget <tewinget@gmail.com>2015-02-24 00:44:36 -0500
commit96cbecffd7235c1cf7ff5717fabe2d94d3192736 (patch)
tree3d378804e59a0038f10baaaff1b2ccf8a356006d /src/rpc/core_rpc_server.cpp
parentDaemonize changes pulled in -- daemon builds (diff)
downloadmonero-96cbecffd7235c1cf7ff5717fabe2d94d3192736.tar.xz
RPC calls for background daemon added in
The RPC calls the daemon executable uses to talk to the running daemon instance have mostly been added back in. Rate limiting has not been added in upstream, but is on its way in a separate effort, so those calls are still NOPed out.
Diffstat (limited to 'src/rpc/core_rpc_server.cpp')
-rw-r--r--src/rpc/core_rpc_server.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp
index 1c13719c0..32bfb8c60 100644
--- a/src/rpc/core_rpc_server.cpp
+++ b/src/rpc/core_rpc_server.cpp
@@ -347,6 +347,75 @@ namespace cryptonote
return true;
}
//------------------------------------------------------------------------------------------------------------------------------
+ bool core_rpc_server::on_get_peer_list(const COMMAND_RPC_GET_PEER_LIST::request& req, COMMAND_RPC_GET_PEER_LIST::response& res, connection_context& cntx)
+ {
+ /*
+ std::list<nodetool::peerlist_entry> white_list;
+ std::list<nodetool::peerlist_entry> gray_list;
+ m_p2p.get_peerlist(white_list, gray_list);
+
+ for (auto & entry : white_list)
+ {
+ res.white_list.emplace_back(entry.id, entry.adr.ip, entry.adr.port, entry.last_seen);
+ }
+
+ for (auto & entry : gray_list)
+ {
+ res.gray_list.emplace_back(entry.id, entry.adr.ip, entry.adr.port, entry.last_seen);
+ }
+
+ */
+ res.status = CORE_RPC_STATUS_OK;
+ return true;
+ }
+ //------------------------------------------------------------------------------------------------------------------------------
+ bool core_rpc_server::on_set_log_hash_rate(const COMMAND_RPC_SET_LOG_HASH_RATE::request& req, COMMAND_RPC_SET_LOG_HASH_RATE::response& res, connection_context& cntx)
+ {
+ if(m_core.get_miner().is_mining())
+ {
+ m_core.get_miner().do_print_hashrate(req.visible);
+ res.status = CORE_RPC_STATUS_OK;
+ }
+ else
+ {
+ res.status = CORE_RPC_STATUS_NOT_MINING;
+ }
+ return true;
+ }
+ //------------------------------------------------------------------------------------------------------------------------------
+ bool core_rpc_server::on_set_log_level(const COMMAND_RPC_SET_LOG_LEVEL::request& req, COMMAND_RPC_SET_LOG_LEVEL::response& res, connection_context& cntx)
+ {
+ if (req.level < LOG_LEVEL_MIN || req.level > LOG_LEVEL_MAX)
+ {
+ res.status = "Error: log level not valid";
+ }
+ else
+ {
+ epee::log_space::log_singletone::get_set_log_detalisation_level(true, req.level);
+ res.status = CORE_RPC_STATUS_OK;
+ }
+ return true;
+ }
+ //------------------------------------------------------------------------------------------------------------------------------
+ bool core_rpc_server::on_get_transaction_pool(const COMMAND_RPC_GET_TRANSACTION_POOL::request& req, COMMAND_RPC_GET_TRANSACTION_POOL::response& res, connection_context& cntx)
+ {
+ /*
+ CHECK_CORE_BUSY();
+ res.transactions = m_core.transaction_pool_info();
+ */
+ res.status = CORE_RPC_STATUS_OK;
+ return true;
+ }
+ //------------------------------------------------------------------------------------------------------------------------------
+ bool core_rpc_server::on_stop_daemon(const COMMAND_RPC_STOP_DAEMON::request& req, COMMAND_RPC_STOP_DAEMON::response& res, connection_context& cntx)
+ {
+ // FIXME: replace back to original m_p2p.send_stop_signal() after
+ // investigating why that isn't working quite right.
+ m_core.stop();
+ res.status = CORE_RPC_STATUS_OK;
+ return true;
+ }
+ //------------------------------------------------------------------------------------------------------------------------------
bool core_rpc_server::on_getblockcount(const COMMAND_RPC_GETBLOCKCOUNT::request& req, COMMAND_RPC_GETBLOCKCOUNT::response& res, connection_context& cntx)
{
CHECK_CORE_BUSY();