mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-15 12:51:00 +02:00
Remove direct bitcoin calls from qt/peertablemodel.cpp
This commit is contained in:
parent
d7c2c95948
commit
e0b66a3b7c
6 changed files with 57 additions and 28 deletions
|
|
@ -10,6 +10,7 @@
|
|||
#include <interface/handler.h>
|
||||
#include <interface/wallet.h>
|
||||
#include <net.h>
|
||||
#include <net_processing.h>
|
||||
#include <netaddress.h>
|
||||
#include <netbase.h>
|
||||
#include <primitives/block.h>
|
||||
|
|
@ -79,6 +80,31 @@ class NodeImpl : public Node
|
|||
{
|
||||
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 { return g_connman ? g_connman->GetTotalBytesRecv() : 0; }
|
||||
int64_t getTotalBytesSent() override { return g_connman ? g_connman->GetTotalBytesSent() : 0; }
|
||||
size_t getMempoolSize() override { return ::mempool.size(); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue