20 std::vector<NodeEvictionCandidate> eviction_candidates;
21 while (fuzzed_data_provider.ConsumeBool()) {
22 eviction_candidates.push_back({
23 fuzzed_data_provider.ConsumeIntegral<
NodeId>(),
24 fuzzed_data_provider.ConsumeIntegral<int64_t>(),
25 std::chrono::microseconds{fuzzed_data_provider.ConsumeIntegral<int64_t>()},
26 fuzzed_data_provider.ConsumeIntegral<int64_t>(),
27 fuzzed_data_provider.ConsumeIntegral<int64_t>(),
28 fuzzed_data_provider.ConsumeBool(),
29 fuzzed_data_provider.ConsumeBool(),
30 fuzzed_data_provider.ConsumeBool(),
31 fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
32 fuzzed_data_provider.ConsumeBool(),
33 fuzzed_data_provider.ConsumeBool(),
39 const std::vector<NodeEvictionCandidate> eviction_candidates_copy = eviction_candidates;
40 const std::optional<NodeId> node_to_evict =
SelectNodeToEvict(std::move(eviction_candidates));
42 assert(std::any_of(eviction_candidates_copy.begin(), eviction_candidates_copy.end(), [&node_to_evict](
const NodeEvictionCandidate& eviction_candidate) { return *node_to_evict == eviction_candidate.id; }));
std::optional< NodeId > SelectNodeToEvict(std::vector< NodeEvictionCandidate > &&vEvictionCandidates)
Select an inbound peer to evict after filtering out (protecting) peers having distinct,...
FUZZ_TARGET(node_eviction)
constexpr auto ALL_NETWORKS