mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-15 19:31:35 +02:00
net: Add CNode::ConnectedThroughNetwork member function
This commit is contained in:
parent
d4dde24034
commit
49fba9c1aa
@ -539,6 +539,11 @@ void CNode::SetAddrLocal(const CService& addrLocalIn) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Network CNode::ConnectedThroughNetwork() const
|
||||||
|
{
|
||||||
|
return IsInboundConn() && m_inbound_onion ? NET_ONION : addr.GetNetClass();
|
||||||
|
}
|
||||||
|
|
||||||
#undef X
|
#undef X
|
||||||
#define X(name) stats.name = name
|
#define X(name) stats.name = name
|
||||||
void CNode::copyStats(CNodeStats &stats, const std::vector<bool> &m_asmap)
|
void CNode::copyStats(CNodeStats &stats, const std::vector<bool> &m_asmap)
|
||||||
|
12
src/net.h
12
src/net.h
@ -961,6 +961,18 @@ public:
|
|||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get network the peer connected through.
|
||||||
|
*
|
||||||
|
* Returns Network::NET_ONION for *inbound* onion connections,
|
||||||
|
* and CNetAddr::GetNetClass() otherwise. The latter cannot be used directly
|
||||||
|
* because it doesn't detect the former, and it's not the responsibility of
|
||||||
|
* the CNetAddr class to know the actual network a peer is connected through.
|
||||||
|
*
|
||||||
|
* @return network the peer connected through.
|
||||||
|
*/
|
||||||
|
Network ConnectedThroughNetwork() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
mapMsgCmdSize mapSendBytesPerMsgCmd;
|
mapMsgCmdSize mapSendBytesPerMsgCmd;
|
||||||
mapMsgCmdSize mapRecvBytesPerMsgCmd GUARDED_BY(cs_vRecv);
|
mapMsgCmdSize mapRecvBytesPerMsgCmd GUARDED_BY(cs_vRecv);
|
||||||
|
@ -629,7 +629,7 @@ uint32_t CNetAddr::GetLinkedIPv4() const
|
|||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t CNetAddr::GetNetClass() const
|
Network CNetAddr::GetNetClass() const
|
||||||
{
|
{
|
||||||
// Make sure that if we return NET_IPV6, then IsIPv6() is true. The callers expect that.
|
// Make sure that if we return NET_IPV6, then IsIPv6() is true. The callers expect that.
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ class CNetAddr
|
|||||||
std::string ToStringIP() const;
|
std::string ToStringIP() const;
|
||||||
uint64_t GetHash() const;
|
uint64_t GetHash() const;
|
||||||
bool GetInAddr(struct in_addr* pipv4Addr) const;
|
bool GetInAddr(struct in_addr* pipv4Addr) const;
|
||||||
uint32_t GetNetClass() const;
|
Network GetNetClass() const;
|
||||||
|
|
||||||
//! For IPv4, mapped IPv4, SIIT translated IPv4, Teredo, 6to4 tunneled addresses, return the relevant IPv4 address as a uint32.
|
//! For IPv4, mapped IPv4, SIIT translated IPv4, Teredo, 6to4 tunneled addresses, return the relevant IPv4 address as a uint32.
|
||||||
uint32_t GetLinkedIPv4() const;
|
uint32_t GetLinkedIPv4() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user