5#ifndef BITCOIN_NETGROUP_H
6#define BITCOIN_NETGROUP_H
96 explicit NetGroupManager(std::span<const std::byte> embedded_asmap, std::vector<std::byte>&& loaded_asmap)
NetGroupManager(NetGroupManager &&)=default
NetGroupManager(const NetGroupManager &)=delete
static NetGroupManager NoAsmap()
uint256 GetAsmapVersion() const
Get the asmap version, a checksum identifying the asmap being used.
NetGroupManager & operator=(NetGroupManager &&)=delete
static NetGroupManager WithEmbeddedAsmap(std::span< const std::byte > asmap)
NetGroupManager & operator=(const NetGroupManager &)=delete
NetGroupManager(std::span< const std::byte > embedded_asmap, std::vector< std::byte > &&loaded_asmap)
bool UsingASMap() const
Indicates whether ASMap is being used for clearnet bucketing.
std::vector< std::byte > m_loaded_asmap
void ASMapHealthCheck(const std::vector< CNetAddr > &clearnet_addrs) const
Analyze and log current health of ASMap based buckets.
const std::span< const std::byte > m_asmap
Compressed IP->ASN mapping.
std::vector< unsigned char > GetGroup(const CNetAddr &address) const
Get the canonical identifier of the network group for address.
static NetGroupManager WithLoadedAsmap(std::vector< std::byte > &&asmap)
uint32_t GetMappedAS(const CNetAddr &address) const
Get the autonomous system on the BGP path to address.