mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
net: Add continuous ASMap health check logging
This commit is contained in:
19
src/net.cpp
19
src/net.cpp
@@ -3305,6 +3305,12 @@ bool CConnman::Start(CScheduler& scheduler, const Options& connOptions)
|
||||
// Dump network addresses
|
||||
scheduler.scheduleEvery([this] { DumpAddresses(); }, DUMP_PEERS_INTERVAL);
|
||||
|
||||
// Run the ASMap Health check once and then schedule it to run every 24h.
|
||||
if (m_netgroupman.UsingASMap()) {
|
||||
ASMapHealthCheck();
|
||||
scheduler.scheduleEvery([this] { ASMapHealthCheck(); }, ASMAP_HEALTH_CHECK_INTERVAL);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3853,6 +3859,19 @@ void CConnman::PerformReconnections()
|
||||
}
|
||||
}
|
||||
|
||||
void CConnman::ASMapHealthCheck()
|
||||
{
|
||||
const std::vector<CAddress> v4_addrs{GetAddresses(/*max_addresses=*/ 0, /*max_pct=*/ 0, Network::NET_IPV4, /*filtered=*/ false)};
|
||||
const std::vector<CAddress> v6_addrs{GetAddresses(/*max_addresses=*/ 0, /*max_pct=*/ 0, Network::NET_IPV6, /*filtered=*/ false)};
|
||||
std::vector<CNetAddr> clearnet_addrs;
|
||||
clearnet_addrs.reserve(v4_addrs.size() + v6_addrs.size());
|
||||
std::transform(v4_addrs.begin(), v4_addrs.end(), std::back_inserter(clearnet_addrs),
|
||||
[](const CAddress& addr) { return static_cast<CNetAddr>(addr); });
|
||||
std::transform(v6_addrs.begin(), v6_addrs.end(), std::back_inserter(clearnet_addrs),
|
||||
[](const CAddress& addr) { return static_cast<CNetAddr>(addr); });
|
||||
m_netgroupman.ASMapHealthCheck(clearnet_addrs);
|
||||
}
|
||||
|
||||
// Dump binary message to file, with timestamp.
|
||||
static void CaptureMessageToFile(const CAddress& addr,
|
||||
const std::string& msg_type,
|
||||
|
||||
Reference in New Issue
Block a user