From bad16aff490dcf87722fbfe202a869fb24c734e1 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Sat, 12 Sep 2020 18:03:06 +0300 Subject: [PATCH] p2p: Add CConnman::GetCurrentBlockRelayOnlyConns() --- src/net.cpp | 13 +++++++++++++ src/net.h | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/src/net.cpp b/src/net.cpp index 95ba6da819f..53cf4ca0170 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2019,6 +2019,19 @@ void CConnman::ThreadOpenConnections(const std::vector connect) } } +std::vector CConnman::GetCurrentBlockRelayOnlyConns() const +{ + std::vector ret; + LOCK(cs_vNodes); + for (const CNode* pnode : vNodes) { + if (pnode->IsBlockOnlyConn()) { + ret.push_back(pnode->addr); + } + } + + return ret; +} + std::vector CConnman::GetAddedNodeInfo() { std::vector ret; diff --git a/src/net.h b/src/net.h index 2b99d3bd9d5..adeee1579aa 100644 --- a/src/net.h +++ b/src/net.h @@ -460,6 +460,11 @@ private: void RecordBytesRecv(uint64_t bytes); void RecordBytesSent(uint64_t bytes); + /** + * Return vector of current BLOCK_RELAY peers. + */ + std::vector GetCurrentBlockRelayOnlyConns() const; + // Whether the node should be passed out in ForEach* callbacks static bool NodeFullyConnected(const CNode* pnode);