From 36193af47c8dcff53e59498c416b85b59e0d0f91 Mon Sep 17 00:00:00 2001 From: TheCharlatan Date: Tue, 12 Sep 2023 13:42:52 +0200 Subject: [PATCH] [refactor] Remove netaddress.h from kernel headers Move functions requiring the netaddress.h include out of libbitcoinkernel source files. The netaddress.h file contains many non-consensus related definitions and should thus not be part of the libbitcoinkernel. This commit makes netaddress.h no longer a required include for users of the libbitcoinkernel. This commit is part of the libbitcoinkernel project, namely its stage 1 step 3: Decouple most non-consensus headers from libbitcoinkernel. --- src/kernel/chainparams.h | 10 ---------- src/net.cpp | 14 ++++++++++++-- src/net.h | 3 +++ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/kernel/chainparams.h b/src/kernel/chainparams.h index f1df878f60b..63837bb23ed 100644 --- a/src/kernel/chainparams.h +++ b/src/kernel/chainparams.h @@ -8,7 +8,6 @@ #include #include -#include #include #include #include @@ -89,15 +88,6 @@ public: const Consensus::Params& GetConsensus() const { return consensus; } const MessageStartChars& MessageStart() const { return pchMessageStart; } uint16_t GetDefaultPort() const { return nDefaultPort; } - uint16_t GetDefaultPort(Network net) const - { - return net == NET_I2P ? I2P_SAM31_PORT : GetDefaultPort(); - } - uint16_t GetDefaultPort(const std::string& addr) const - { - CNetAddr a; - return a.SetSpecial(addr) ? GetDefaultPort(a.GetNetwork()) : GetDefaultPort(); - } const CBlock& GenesisBlock() const { return genesis; } /** Default value for -checkmempool and -checkblockindex argument */ diff --git a/src/net.cpp b/src/net.cpp index 129b049269e..bfa2738e450 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -470,7 +470,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo Ticks(pszDest ? 0h : Now() - addrConnect.nTime)); // Resolve - const uint16_t default_port{pszDest != nullptr ? m_params.GetDefaultPort(pszDest) : + const uint16_t default_port{pszDest != nullptr ? GetDefaultPort(pszDest) : m_params.GetDefaultPort()}; if (pszDest) { const std::vector resolved{Lookup(pszDest, default_port, fNameLookup && !HaveNameProxy(), 256)}; @@ -2769,7 +2769,7 @@ std::vector CConnman::GetAddedNodeInfo() const } for (const std::string& strAddNode : lAddresses) { - CService service(LookupNumeric(strAddNode, m_params.GetDefaultPort(strAddNode))); + CService service(LookupNumeric(strAddNode, GetDefaultPort(strAddNode))); AddedNodeInfo addedNode{strAddNode, CService(), false, false}; if (service.IsValid()) { // strAddNode is an IP:port @@ -3094,6 +3094,16 @@ NodeId CConnman::GetNewNodeId() return nLastNodeId.fetch_add(1, std::memory_order_relaxed); } +uint16_t CConnman::GetDefaultPort(Network net) const +{ + return net == NET_I2P ? I2P_SAM31_PORT : m_params.GetDefaultPort(); +} + +uint16_t CConnman::GetDefaultPort(const std::string& addr) const +{ + CNetAddr a; + return a.SetSpecial(addr) ? GetDefaultPort(a.GetNetwork()) : m_params.GetDefaultPort(); +} bool CConnman::Bind(const CService& addr_, unsigned int flags, NetPermissionFlags permissions) { diff --git a/src/net.h b/src/net.h index eaa0fa32804..145b5cf666f 100644 --- a/src/net.h +++ b/src/net.h @@ -1358,6 +1358,9 @@ private: // Whether the node should be passed out in ForEach* callbacks static bool NodeFullyConnected(const CNode* pnode); + uint16_t GetDefaultPort(Network net) const; + uint16_t GetDefaultPort(const std::string& addr) const; + // Network usage totals mutable Mutex m_total_bytes_sent_mutex; std::atomic nTotalBytesRecv{0};