aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Zumsande <mzumsande@gmail.com>2023-04-11 15:09:31 -0400
committerMartin Zumsande <mzumsande@gmail.com>2023-06-05 11:02:47 -0400
commit62d73f5370415f910c95a67b3d9f97bc85487bbe (patch)
tree202411f1e28f3b2da8f9f7a90092ba9e6ef22d92
parentf4a8269dfc144cc918570bdb870aa5143a11c1fe (diff)
downloadbitcoin-62d73f5370415f910c95a67b3d9f97bc85487bbe.tar.xz
net, refactor: pass CNode instead of CNetAddr to GetLocalAddress
Access to CNode will be needed in the following commits.
-rw-r--r--src/net.cpp10
-rw-r--r--src/net.h4
2 files changed, 7 insertions, 7 deletions
diff --git a/src/net.cpp b/src/net.cpp
index a53835f999..ab0d34fc63 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -153,7 +153,7 @@ uint16_t GetListenPort()
}
// find 'best' local address for a particular peer
-bool GetLocal(CService& addr, const CNetAddr *paddrPeer)
+bool GetLocal(CService& addr, const CNode& peer)
{
if (!fListen)
return false;
@@ -165,7 +165,7 @@ bool GetLocal(CService& addr, const CNetAddr *paddrPeer)
for (const auto& entry : mapLocalHost)
{
int nScore = entry.second.nScore;
- int nReachability = entry.first.GetReachabilityFrom(paddrPeer);
+ int nReachability = entry.first.GetReachabilityFrom(&peer.addr);
if (nReachability > nBestReachability || (nReachability == nBestReachability && nScore > nBestScore))
{
addr = CService(entry.first, entry.second.nPort);
@@ -203,10 +203,10 @@ static std::vector<CAddress> ConvertSeeds(const std::vector<uint8_t> &vSeedsIn)
// Otherwise, return the unroutable 0.0.0.0 but filled in with
// the normal parameters, since the IP may be changed to a useful
// one by discovery.
-CService GetLocalAddress(const CNetAddr& addrPeer)
+CService GetLocalAddress(const CNode& peer)
{
CService addr;
- if (GetLocal(addr, &addrPeer)) {
+ if (GetLocal(addr, peer)) {
return addr;
}
return CService{CNetAddr(), GetListenPort()};
@@ -229,7 +229,7 @@ bool IsPeerAddrLocalGood(CNode *pnode)
std::optional<CService> GetLocalAddrForPeer(CNode& node)
{
- CService addrLocal{GetLocalAddress(node.addr)};
+ CService addrLocal{GetLocalAddress(node)};
if (gArgs.GetBoolArg("-addrmantest", false)) {
// use IPv4 loopback during addrmantest
addrLocal = CService(LookupNumeric("127.0.0.1", GetListenPort()));
diff --git a/src/net.h b/src/net.h
index 83fe0427d4..e161671853 100644
--- a/src/net.h
+++ b/src/net.h
@@ -164,8 +164,8 @@ bool AddLocal(const CNetAddr& addr, int nScore = LOCAL_NONE);
void RemoveLocal(const CService& addr);
bool SeenLocal(const CService& addr);
bool IsLocal(const CService& addr);
-bool GetLocal(CService &addr, const CNetAddr *paddrPeer = nullptr);
-CService GetLocalAddress(const CNetAddr& addrPeer);
+bool GetLocal(CService& addr, const CNode& peer);
+CService GetLocalAddress(const CNode& peer);
CService MaybeFlipIPv6toCJDNS(const CService& service);