|
|
@ -17,28 +17,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
BOOST_FIXTURE_TEST_SUITE(net_peer_eviction_tests, BasicTestingSetup)
|
|
|
|
BOOST_FIXTURE_TEST_SUITE(net_peer_eviction_tests, BasicTestingSetup)
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<NodeEvictionCandidate> GetRandomNodeEvictionCandidates(const int n_candidates, FastRandomContext& random_context)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
std::vector<NodeEvictionCandidate> candidates;
|
|
|
|
|
|
|
|
for (int id = 0; id < n_candidates; ++id) {
|
|
|
|
|
|
|
|
candidates.push_back({
|
|
|
|
|
|
|
|
/* id */ id,
|
|
|
|
|
|
|
|
/* nTimeConnected */ static_cast<int64_t>(random_context.randrange(100)),
|
|
|
|
|
|
|
|
/* m_min_ping_time */ std::chrono::microseconds{random_context.randrange(100)},
|
|
|
|
|
|
|
|
/* nLastBlockTime */ static_cast<int64_t>(random_context.randrange(100)),
|
|
|
|
|
|
|
|
/* nLastTXTime */ static_cast<int64_t>(random_context.randrange(100)),
|
|
|
|
|
|
|
|
/* fRelevantServices */ random_context.randbool(),
|
|
|
|
|
|
|
|
/* fRelayTxes */ random_context.randbool(),
|
|
|
|
|
|
|
|
/* fBloomFilter */ random_context.randbool(),
|
|
|
|
|
|
|
|
/* nKeyedNetGroup */ random_context.randrange(100),
|
|
|
|
|
|
|
|
/* prefer_evict */ random_context.randbool(),
|
|
|
|
|
|
|
|
/* m_is_local */ random_context.randbool(),
|
|
|
|
|
|
|
|
/* m_network */ ALL_NETWORKS[random_context.randrange(ALL_NETWORKS.size())],
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return candidates;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Create `num_peers` random nodes, apply setup function `candidate_setup_fn`,
|
|
|
|
// Create `num_peers` random nodes, apply setup function `candidate_setup_fn`,
|
|
|
|
// call ProtectEvictionCandidatesByRatio() to apply protection logic, and then
|
|
|
|
// call ProtectEvictionCandidatesByRatio() to apply protection logic, and then
|
|
|
|
// return true if all of `protected_peer_ids` and none of `unprotected_peer_ids`
|
|
|
|
// return true if all of `protected_peer_ids` and none of `unprotected_peer_ids`
|
|
|
|