![]() |
Bitcoin Core 22.99.0
P2P Digital Currency
|
Extended statistics about a CAddress. More...
#include <addrman_impl.h>
Public Member Functions | |
| SERIALIZE_METHODS (AddrInfo, obj) | |
| AddrInfo (const CAddress &addrIn, const CNetAddr &addrSource) | |
| AddrInfo () | |
| int | GetTriedBucket (const uint256 &nKey, const std::vector< bool > &asmap) const |
| Calculate in which "tried" bucket this entry belongs. More... | |
| int | GetNewBucket (const uint256 &nKey, const CNetAddr &src, const std::vector< bool > &asmap) const |
| Calculate in which "new" bucket this entry belongs, given a certain source. More... | |
| int | GetNewBucket (const uint256 &nKey, const std::vector< bool > &asmap) const |
| Calculate in which "new" bucket this entry belongs, using its default source. More... | |
| int | GetBucketPosition (const uint256 &nKey, bool fNew, int nBucket) const |
| Calculate in which position of a bucket to store this entry. More... | |
| bool | IsTerrible (int64_t nNow=GetAdjustedTime()) const |
| Determine whether the statistics about this entry are bad enough so that it can just be deleted. More... | |
| double | GetChance (int64_t nNow=GetAdjustedTime()) const |
| Calculate the relative chance this entry should be given when selecting nodes to connect to. More... | |
Public Member Functions inherited from CAddress | |
| CAddress () | |
| CAddress (CService ipIn, ServiceFlags nServicesIn) | |
| CAddress (CService ipIn, ServiceFlags nServicesIn, uint32_t nTimeIn) | |
| SERIALIZE_METHODS (CAddress, obj) | |
Public Member Functions inherited from CService | |
| CService () | |
| CService (const CNetAddr &ip, uint16_t port) | |
| CService (const struct in_addr &ipv4Addr, uint16_t port) | |
| CService (const struct sockaddr_in &addr) | |
| uint16_t | GetPort () const |
| bool | GetSockAddr (struct sockaddr *paddr, socklen_t *addrlen) const |
| Obtain the IPv4/6 socket address this represents. More... | |
| bool | SetSockAddr (const struct sockaddr *paddr) |
| std::vector< unsigned char > | GetKey () const |
| std::string | ToString () const |
| std::string | ToStringPort () const |
| std::string | ToStringIPPort () const |
| CService (const struct in6_addr &ipv6Addr, uint16_t port) | |
| CService (const struct sockaddr_in6 &addr) | |
| SERIALIZE_METHODS (CService, obj) | |
Public Member Functions inherited from CNetAddr | |
| CNetAddr () | |
| Construct an unspecified IPv6 network address (::/128). More... | |
| CNetAddr (const struct in_addr &ipv4Addr) | |
| void | SetIP (const CNetAddr &ip) |
| void | SetLegacyIPv6 (Span< const uint8_t > ipv6) |
| Set from a legacy IPv6 address. More... | |
| bool | SetInternal (const std::string &name) |
| Create an "internal" address that represents a name or FQDN. More... | |
| bool | SetSpecial (const std::string &addr) |
| Parse a Tor or I2P address and set this object to it. More... | |
| bool | IsBindAny () const |
| bool | IsIPv4 () const |
| bool | IsIPv6 () const |
| bool | IsRFC1918 () const |
| bool | IsRFC2544 () const |
| bool | IsRFC6598 () const |
| bool | IsRFC5737 () const |
| bool | IsRFC3849 () const |
| bool | IsRFC3927 () const |
| bool | IsRFC3964 () const |
| bool | IsRFC4193 () const |
| bool | IsRFC4380 () const |
| bool | IsRFC4843 () const |
| bool | IsRFC7343 () const |
| bool | IsRFC4862 () const |
| bool | IsRFC6052 () const |
| bool | IsRFC6145 () const |
| bool | IsHeNet () const |
| bool | IsTor () const |
| Check whether this object represents a TOR address. More... | |
| bool | IsI2P () const |
| Check whether this object represents an I2P address. More... | |
| bool | IsCJDNS () const |
| Check whether this object represents a CJDNS address. More... | |
| bool | IsLocal () const |
| bool | IsRoutable () const |
| bool | IsInternal () const |
| bool | IsValid () const |
| bool | IsAddrV1Compatible () const |
| Check if the current object can be serialized in pre-ADDRv2/BIP155 format. More... | |
| enum Network | GetNetwork () const |
| std::string | ToString () const |
| std::string | ToStringIP () const |
| uint64_t | GetHash () const |
| bool | GetInAddr (struct in_addr *pipv4Addr) const |
| Try to get our IPv4 address. More... | |
| Network | GetNetClass () const |
| uint32_t | GetLinkedIPv4 () const |
| For IPv4, mapped IPv4, SIIT translated IPv4, Teredo, 6to4 tunneled addresses, return the relevant IPv4 address as a uint32. More... | |
| bool | HasLinkedIPv4 () const |
| Whether this address has a linked IPv4 address (see GetLinkedIPv4()). More... | |
| uint32_t | GetMappedAS (const std::vector< bool > &asmap) const |
| std::vector< unsigned char > | GetGroup (const std::vector< bool > &asmap) const |
| Get the canonical identifier of our network group. More... | |
| std::vector< unsigned char > | GetAddrBytes () const |
| int | GetReachabilityFrom (const CNetAddr *paddrPartner=nullptr) const |
| Calculates a metric for how reachable (*this) is from a given partner. More... | |
| CNetAddr (const struct in6_addr &pipv6Addr, const uint32_t scope=0) | |
| bool | GetIn6Addr (struct in6_addr *pipv6Addr) const |
| Try to get our IPv6 (or CJDNS) address. More... | |
| bool | IsRelayable () const |
| Whether this address should be relayed to other peers even if we can't reach it ourselves. More... | |
| template<typename Stream > | |
| void | Serialize (Stream &s) const |
| Serialize to a stream. More... | |
| template<typename Stream > | |
| void | Unserialize (Stream &s) |
| Unserialize from a stream. More... | |
Public Attributes | |
| int64_t | nLastTry {0} |
| last try whatsoever by us (memory only) More... | |
| int64_t | nLastCountAttempt {0} |
| last counted attempt (memory only) More... | |
| CNetAddr | source |
| where knowledge about this address first came from More... | |
| int64_t | nLastSuccess {0} |
| last successful connection by us More... | |
| int | nAttempts {0} |
| connection attempts since last successful attempt More... | |
| int | nRefCount {0} |
| reference count in new sets (memory only) More... | |
| bool | fInTried {false} |
| in tried set? (memory only) More... | |
| int | nRandomPos {-1} |
| position in vRandom More... | |
Public Attributes inherited from CAddress | |
| uint32_t | nTime {TIME_INIT} |
| Always included in serialization. More... | |
| ServiceFlags | nServices {NODE_NONE} |
| Serialized as uint64_t in V1, and as CompactSize in V2. More... | |
Additional Inherited Members | |
Protected Attributes inherited from CService | |
| uint16_t | port |
Protected Attributes inherited from CNetAddr | |
| prevector< ADDR_IPV6_SIZE, uint8_t > | m_addr {ADDR_IPV6_SIZE, 0x0} |
| Raw representation of the network address. More... | |
| Network | m_net {NET_IPV6} |
| Network to which this address belongs. More... | |
| uint32_t | m_scope_id {0} |
| Scope id if scoped/link-local IPV6 address. More... | |
Extended statistics about a CAddress.
Definition at line 36 of file addrman_impl.h.
Definition at line 69 of file addrman_impl.h.
|
inline |
Definition at line 73 of file addrman_impl.h.
| int AddrInfo::GetBucketPosition | ( | const uint256 & | nKey, |
| bool | fNew, | ||
| int | nBucket | ||
| ) | const |
Calculate in which position of a bucket to store this entry.
Definition at line 59 of file addrman.cpp.
| double AddrInfo::GetChance | ( | int64_t | nNow = GetAdjustedTime() | ) | const |
Calculate the relative chance this entry should be given when selecting nodes to connect to.
Definition at line 85 of file addrman.cpp.
| int AddrInfo::GetNewBucket | ( | const uint256 & | nKey, |
| const CNetAddr & | src, | ||
| const std::vector< bool > & | asmap | ||
| ) | const |
Calculate in which "new" bucket this entry belongs, given a certain source.
Definition at line 51 of file addrman.cpp.
|
inline |
Calculate in which "new" bucket this entry belongs, using its default source.
Definition at line 84 of file addrman_impl.h.
| int AddrInfo::GetTriedBucket | ( | const uint256 & | nKey, |
| const std::vector< bool > & | asmap | ||
| ) | const |
Calculate in which "tried" bucket this entry belongs.
Definition at line 44 of file addrman.cpp.
| bool AddrInfo::IsTerrible | ( | int64_t | nNow = GetAdjustedTime() | ) | const |
Determine whether the statistics about this entry are bad enough so that it can just be deleted.
Definition at line 65 of file addrman.cpp.
|
inline |
Definition at line 63 of file addrman_impl.h.
| bool AddrInfo::fInTried {false} |
in tried set? (memory only)
Definition at line 58 of file addrman_impl.h.
| int AddrInfo::nAttempts {0} |
connection attempts since last successful attempt
Definition at line 52 of file addrman_impl.h.
| int64_t AddrInfo::nLastCountAttempt {0} |
last counted attempt (memory only)
Definition at line 43 of file addrman_impl.h.
| int64_t AddrInfo::nLastSuccess {0} |
last successful connection by us
Definition at line 49 of file addrman_impl.h.
| int64_t AddrInfo::nLastTry {0} |
last try whatsoever by us (memory only)
Definition at line 40 of file addrman_impl.h.
|
mutable |
position in vRandom
Definition at line 61 of file addrman_impl.h.
| int AddrInfo::nRefCount {0} |
reference count in new sets (memory only)
Definition at line 55 of file addrman_impl.h.
| CNetAddr AddrInfo::source |
where knowledge about this address first came from
Definition at line 46 of file addrman_impl.h.