From 0800440a427f510067eb682de91eb5bb1a4acb01 Mon Sep 17 00:00:00 2001 From: orignal Date: Sun, 11 Oct 2026 11:26:47 -0400 Subject: [PATCH] return numHeardFrom and numFailedPeers in dht-stats response --- libi2pd_client/TorrentsDHT.h | 2 ++ libi2pd_client/TorrentsRPC.cpp | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libi2pd_client/TorrentsDHT.h b/libi2pd_client/TorrentsDHT.h index fffadbb5..22321a52 100644 --- a/libi2pd_client/TorrentsDHT.h +++ b/libi2pd_client/TorrentsDHT.h @@ -238,6 +238,8 @@ namespace torrents size_t GetNumBuckets () const { return m_RoutingTable ? m_RoutingTable->GetNumBuckets () : 0; } size_t GetNumNodes () const { return m_RoutingTable ? m_RoutingTable->GetNumNodes () : 0; } size_t GetNumTorrents () const { return m_Torrents.size (); } + size_t GetNumHeardFrom () const { return m_HeardFrom.size (); } + size_t GetNumFailedPeers () const { return m_FailedPeers.size (); } private: diff --git a/libi2pd_client/TorrentsRPC.cpp b/libi2pd_client/TorrentsRPC.cpp index 307bc9fc..09abbac2 100644 --- a/libi2pd_client/TorrentsRPC.cpp +++ b/libi2pd_client/TorrentsRPC.cpp @@ -776,9 +776,9 @@ namespace torrents response["supported"] = isDHTSupported; if (isDHTSupported) { - size_t numNodes = 0, numBuckets = 0, numTorrents = 0; + size_t numNodes = 0, numBuckets = 0, numTorrents = 0, numHeardFrom = 0, numFailedPeers = 0; boost::asio::post (m_Tunnel->GetService (), - boost::asio::use_future ([this, &numNodes, &numBuckets, &numTorrents]() + boost::asio::use_future ([this, &numNodes, &numBuckets, &numTorrents, &numHeardFrom, &numFailedPeers]() { const auto& dht = m_Tunnel->GetDHT (); if (dht) @@ -786,11 +786,15 @@ namespace torrents numNodes = dht->GetNumNodes (); numBuckets = dht->GetNumBuckets (); numTorrents = dht->GetNumTorrents (); + numHeardFrom = dht->GetNumHeardFrom (); + numFailedPeers = dht->GetNumFailedPeers (); } })).wait (); response["numNodes"] = numNodes; response["numBuckets"] = numBuckets; response["numTorrents"] = numTorrents; + response["numHeardFrom"] = numHeardFrom; + response["numFailedPeers"] = numFailedPeers; } return SuccessResponse (GetTag (jsonRequest), std::move (response)); }