[net] Remove asmap argument from CNode::CopyStats()

This saves passing around a reference to the asmap std::vector<bool>.
This commit is contained in:
John Newbery
2021-09-01 11:24:46 +01:00
parent 9fd5618610
commit 853c4edb70
3 changed files with 5 additions and 9 deletions

View File

@ -552,14 +552,13 @@ Network CNode::ConnectedThroughNetwork() const
#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>& asmap) void CNode::CopyStats(CNodeStats& stats)
{ {
stats.nodeid = this->GetId(); stats.nodeid = this->GetId();
X(nServices); X(nServices);
X(addr); X(addr);
X(addrBind); X(addrBind);
stats.m_network = ConnectedThroughNetwork(); stats.m_network = ConnectedThroughNetwork();
stats.m_mapped_as = addr.GetMappedAS(asmap);
if (m_tx_relay != nullptr) { if (m_tx_relay != nullptr) {
LOCK(m_tx_relay->cs_filter); LOCK(m_tx_relay->cs_filter);
stats.fRelayTxes = m_tx_relay->fRelayTxes; stats.fRelayTxes = m_tx_relay->fRelayTxes;
@ -2804,7 +2803,8 @@ void CConnman::GetNodeStats(std::vector<CNodeStats>& vstats) const
vstats.reserve(vNodes.size()); vstats.reserve(vNodes.size());
for (CNode* pnode : vNodes) { for (CNode* pnode : vNodes) {
vstats.emplace_back(); vstats.emplace_back();
pnode->CopyStats(vstats.back(), addrman.GetAsmap()); pnode->CopyStats(vstats.back());
vstats.back().m_mapped_as = pnode->addr.GetMappedAS(addrman.GetAsmap());
} }
} }

View File

@ -652,7 +652,7 @@ public:
void CloseSocketDisconnect(); void CloseSocketDisconnect();
void CopyStats(CNodeStats& stats, const std::vector<bool>& asmap); void CopyStats(CNodeStats& stats);
ServiceFlags GetLocalServices() const ServiceFlags GetLocalServices() const
{ {

View File

@ -39,12 +39,8 @@ FUZZ_TARGET_INIT(net, initialize_net)
node.CloseSocketDisconnect(); node.CloseSocketDisconnect();
}, },
[&] { [&] {
const std::vector<bool> asmap = ConsumeRandomLengthBitVector(fuzzed_data_provider);
if (!SanityCheckASMap(asmap, 128)) {
return;
}
CNodeStats stats; CNodeStats stats;
node.CopyStats(stats, asmap); node.CopyStats(stats);
}, },
[&] { [&] {
const CNode* add_ref_node = node.AddRef(); const CNode* add_ref_node = node.AddRef();