diff --git a/src/net.cpp b/src/net.cpp index fc0edc1a5c1..53a8301bd71 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -332,17 +332,6 @@ bool IsLocal(const CService& addr) return mapLocalHost.count(addr) > 0; } -CNode* CConnman::FindNode(const CNetAddr& ip) -{ - LOCK(m_nodes_mutex); - for (CNode* pnode : m_nodes) { - if (static_cast(pnode->addr) == ip) { - return pnode; - } - } - return nullptr; -} - CNode* CConnman::FindNode(const std::string& addrName) { LOCK(m_nodes_mutex); @@ -367,7 +356,13 @@ CNode* CConnman::FindNode(const CService& addr) bool CConnman::AlreadyConnectedToAddress(const CAddress& addr) { - return FindNode(static_cast(addr)) || FindNode(addr.ToStringAddrPort()); + const CNetAddr& net_addr{addr}; + const std::string str_addr{addr.ToStringAddrPort()}; + + LOCK(m_nodes_mutex); + return std::ranges::any_of(m_nodes, [&net_addr, &str_addr](CNode* node) { + return node->addr == net_addr || node->m_addr_name == str_addr; + }); } bool CConnman::CheckIncomingNonce(uint64_t nonce) diff --git a/src/net.h b/src/net.h index 9fdec52115e..19b35e8fd2b 100644 --- a/src/net.h +++ b/src/net.h @@ -1352,7 +1352,6 @@ private: uint64_t CalculateKeyedNetGroup(const CNetAddr& ad) const; - CNode* FindNode(const CNetAddr& ip); CNode* FindNode(const std::string& addrName); CNode* FindNode(const CService& addr);