fix(reflectors): retain responsive peers on partial reselection
Build binaries / Build (arm-musleabi) (push) Successful in 1m50s
Build binaries / Build (aarch64-musl) (push) Successful in 1m51s
Build binaries / Build (arm-musleabihf) (push) Successful in 1m53s
Build binaries / Build (armv7-musleabi) (push) Successful in 1m54s
Build binaries / Build (armv7-musleabihf) (push) Successful in 1m55s
Build binaries / Build (i686-musl) (push) Successful in 1m54s
Build binaries / Build (mips-musl) (push) Successful in 2m9s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m8s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m6s
Build binaries / Build (mipsel-musl) (push) Successful in 2m5s
Build binaries / Build (x86_64-musl) (push) Successful in 1m52s
Build binaries / Build (riscv64gc-musl) (push) Successful in 1m52s
Build binaries / Build (arm-musleabi) (push) Successful in 1m50s
Build binaries / Build (aarch64-musl) (push) Successful in 1m51s
Build binaries / Build (arm-musleabihf) (push) Successful in 1m53s
Build binaries / Build (armv7-musleabi) (push) Successful in 1m54s
Build binaries / Build (armv7-musleabihf) (push) Successful in 1m55s
Build binaries / Build (i686-musl) (push) Successful in 1m54s
Build binaries / Build (mips-musl) (push) Successful in 2m9s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m8s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m6s
Build binaries / Build (mipsel-musl) (push) Successful in 2m5s
Build binaries / Build (x86_64-musl) (push) Successful in 1m52s
Build binaries / Build (riscv64gc-musl) (push) Successful in 1m52s
This commit is contained in:
1 parent
51f0ae2e23
commit
c6fc3a7fc9
1 file changed
+10
-6
@@ -252,17 +252,21 @@ impl ReflectorSelector {
|
||||
candidates.swap(i, j);
|
||||
}
|
||||
|
||||
if (candidates.len() as u8) < num_reflectors {
|
||||
info!(
|
||||
"Only {} usable reflectors, retaining current set of {}",
|
||||
candidates.len(),
|
||||
num_reflectors
|
||||
);
|
||||
if candidates.is_empty() {
|
||||
info!("No usable reflectors, retaining current set");
|
||||
self.reflector_tx.send(current_peers.clone())?;
|
||||
*reflectors_peers = current_peers;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (candidates.len() as u8) < num_reflectors {
|
||||
info!(
|
||||
"Only {} usable reflectors, selecting available candidates",
|
||||
candidates.len()
|
||||
);
|
||||
}
|
||||
let num_reflectors = num_reflectors.min(candidates.len() as u8);
|
||||
|
||||
let mut new_peers = Vec::new();
|
||||
for i in 0..num_reflectors {
|
||||
let peer = candidates[i as usize].0;
|
||||
|
||||
Reference in new issue
Block a user