Correct selection of to-try peers to prevent infinite loops when to-try < target

This commit is contained in:
Luke Parker 2024-04-23 12:04:30 -04:00
parent d94c9a4a5e
commit 19e68f7f75
No known key found for this signature in database

View file

@ -493,8 +493,8 @@ impl LibP2p {
continue; continue;
} }
// Randomly select up to 5 // Randomly select up to 2 * TARGET_PEERS
for _ in 0 .. 5 { for _ in 0 .. (2 * TARGET_PEERS) {
if !nodes.is_empty() { if !nodes.is_empty() {
let to_connect = nodes.swap_remove( let to_connect = nodes.swap_remove(
usize::try_from(OsRng.next_u64() % u64::try_from(nodes.len()).unwrap()) usize::try_from(OsRng.next_u64() % u64::try_from(nodes.len()).unwrap())