mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-09-19 11:31:10 +02:00
[fuzz] GetCandidatePeers
This commit is contained in:
@@ -295,6 +295,19 @@ public:
|
|||||||
tracked += m_announcements[txhash][peer].m_state != State::NOTHING;
|
tracked += m_announcements[txhash][peer].m_state != State::NOTHING;
|
||||||
inflight += m_announcements[txhash][peer].m_state == State::REQUESTED;
|
inflight += m_announcements[txhash][peer].m_state == State::REQUESTED;
|
||||||
candidates += m_announcements[txhash][peer].m_state == State::CANDIDATE;
|
candidates += m_announcements[txhash][peer].m_state == State::CANDIDATE;
|
||||||
|
|
||||||
|
std::bitset<MAX_PEERS> expected_announcers;
|
||||||
|
for (int peer = 0; peer < MAX_PEERS; ++peer) {
|
||||||
|
if (m_announcements[txhash][peer].m_state == State::CANDIDATE || m_announcements[txhash][peer].m_state == State::REQUESTED) {
|
||||||
|
expected_announcers[peer] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::vector<NodeId> candidate_peers;
|
||||||
|
m_tracker.GetCandidatePeers(TXHASHES[txhash], candidate_peers);
|
||||||
|
assert(expected_announcers.count() == candidate_peers.size());
|
||||||
|
for (const auto& peer : candidate_peers) {
|
||||||
|
assert(expected_announcers[peer]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
assert(m_tracker.Count(peer) == tracked);
|
assert(m_tracker.Count(peer) == tracked);
|
||||||
assert(m_tracker.CountInFlight(peer) == inflight);
|
assert(m_tracker.CountInFlight(peer) == inflight);
|
||||||
|
Reference in New Issue
Block a user