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 0c6ab50e35
commit 6518379981

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())