Changeset View
Changeset View
Standalone View
Standalone View
src/interfaces/node.cpp
// Copyright (c) 2018 The Bitcoin Core developers | // Copyright (c) 2018 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <interfaces/node.h> | #include <interfaces/node.h> | ||||
#include <chain.h> | #include <chain.h> | ||||
#include <chainparams.h> | #include <chainparams.h> | ||||
#include <config.h> | #include <config.h> | ||||
#include <init.h> | #include <init.h> | ||||
#include <interfaces/handler.h> | #include <interfaces/handler.h> | ||||
#include <interfaces/wallet.h> | #include <interfaces/wallet.h> | ||||
#include <net.h> | #include <net.h> | ||||
#include <net_processing.h> | |||||
#include <netaddress.h> | #include <netaddress.h> | ||||
#include <netbase.h> | #include <netbase.h> | ||||
#include <primitives/block.h> | #include <primitives/block.h> | ||||
#include <scheduler.h> | #include <scheduler.h> | ||||
#include <sync.h> | #include <sync.h> | ||||
#include <txmempool.h> | #include <txmempool.h> | ||||
#include <ui_interface.h> | #include <ui_interface.h> | ||||
#include <util.h> | #include <util.h> | ||||
▲ Show 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | class NodeImpl : public Node { | ||||
return HelpMessage(mode); | return HelpMessage(mode); | ||||
} | } | ||||
bool getProxy(Network net, proxyType &proxy_info) override { | bool getProxy(Network net, proxyType &proxy_info) override { | ||||
return GetProxy(net, proxy_info); | return GetProxy(net, proxy_info); | ||||
} | } | ||||
size_t getNodeCount(CConnman::NumConnections flags) override { | size_t getNodeCount(CConnman::NumConnections flags) override { | ||||
return g_connman ? g_connman->GetNodeCount(flags) : 0; | return g_connman ? g_connman->GetNodeCount(flags) : 0; | ||||
} | } | ||||
bool getNodesStats(NodesStats &stats) override { | |||||
stats.clear(); | |||||
if (g_connman) { | |||||
std::vector<CNodeStats> stats_temp; | |||||
g_connman->GetNodeStats(stats_temp); | |||||
stats.reserve(stats_temp.size()); | |||||
for (auto &node_stats_temp : stats_temp) { | |||||
stats.emplace_back(std::move(node_stats_temp), false, | |||||
CNodeStateStats()); | |||||
} | |||||
// Try to retrieve the CNodeStateStats for each node. | |||||
TRY_LOCK(::cs_main, lockMain); | |||||
if (lockMain) { | |||||
for (auto &node_stats : stats) { | |||||
std::get<1>(node_stats) = | |||||
GetNodeStateStats(std::get<0>(node_stats).nodeid, | |||||
std::get<2>(node_stats)); | |||||
} | |||||
} | |||||
return true; | |||||
} | |||||
return false; | |||||
} | |||||
int64_t getTotalBytesRecv() override { | int64_t getTotalBytesRecv() override { | ||||
return g_connman ? g_connman->GetTotalBytesRecv() : 0; | return g_connman ? g_connman->GetTotalBytesRecv() : 0; | ||||
} | } | ||||
int64_t getTotalBytesSent() override { | int64_t getTotalBytesSent() override { | ||||
return g_connman ? g_connman->GetTotalBytesSent() : 0; | return g_connman ? g_connman->GetTotalBytesSent() : 0; | ||||
} | } | ||||
size_t getMempoolSize() override { return g_mempool.size(); } | size_t getMempoolSize() override { return g_mempool.size(); } | ||||
size_t getMempoolDynamicUsage() override { | size_t getMempoolDynamicUsage() override { | ||||
▲ Show 20 Lines • Show All 104 Lines • Show Last 20 Lines |