Skip to content

Commit d4e1081

Browse files
committed
Add fallback trying of both known and new peers
1 parent 49b2a32 commit d4e1081

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

src/network/mod.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -518,11 +518,12 @@ impl AddressBook {
518518
if self.tried.is_empty() && self.new.is_empty() {
519519
return None;
520520
}
521-
let use_tried: bool = rand::random();
522-
if use_tried && !self.tried.is_empty() {
523-
return self.tried.select();
521+
// ensures we use known peers if there are no new peers
522+
if rand::random() {
523+
self.tried.select().or_else(|| self.new.select())
524+
} else {
525+
self.new.select().or_else(|| self.tried.select())
524526
}
525-
self.new.select()
526527
}
527528

528529
pub(crate) fn failed(&mut self, record: &Record) {

0 commit comments

Comments
 (0)