tier more important than backup

we filter backups when they aren't needed, so this should be okay
This commit is contained in:
Bryan Stitt 2023-06-18 10:06:26 -07:00
parent e54299beca
commit bca22537c6

@ -239,13 +239,13 @@ impl Web3Rpc {
} }
/// sort by... /// sort by...
/// - backups last /// - tier (ascending. fastest servers first)
/// - tier (ascending) /// - backups (primary servers first)
/// - block number (descending) /// - block number (descending. synced servers first)
/// TODO: tests on this! /// TODO: tests on this!
/// TODO: should tier or block number take priority? /// TODO: should tier or block number take priority?
/// TODO: should this return a struct that implements sorting traits? /// TODO: should this return a struct that implements sorting traits?
fn sort_on(&self, max_block: Option<U64>) -> (bool, u32, Reverse<U64>) { fn sort_on(&self, max_block: Option<U64>) -> (u32, bool, Reverse<U64>) {
let mut head_block = self let mut head_block = self
.head_block .head_block
.as_ref() .as_ref()
@ -260,13 +260,13 @@ impl Web3Rpc {
let backup = self.backup; let backup = self.backup;
(!backup, tier, Reverse(head_block)) (tier, !backup, Reverse(head_block))
} }
pub fn sort_for_load_balancing_on( pub fn sort_for_load_balancing_on(
&self, &self,
max_block: Option<U64>, max_block: Option<U64>,
) -> ((bool, u32, Reverse<U64>), OrderedFloat<f64>) { ) -> ((u32, bool, Reverse<U64>), OrderedFloat<f64>) {
let sort_on = self.sort_on(max_block); let sort_on = self.sort_on(max_block);
let weighted_peak_ewma_seconds = self.weighted_peak_ewma_seconds(); let weighted_peak_ewma_seconds = self.weighted_peak_ewma_seconds();
@ -282,7 +282,7 @@ impl Web3Rpc {
pub fn shuffle_for_load_balancing_on( pub fn shuffle_for_load_balancing_on(
&self, &self,
max_block: Option<U64>, max_block: Option<U64>,
) -> ((bool, u32, Reverse<U64>), u8) { ) -> ((u32, bool, Reverse<U64>), u8) {
let sort_on = self.sort_on(max_block); let sort_on = self.sort_on(max_block);
let mut rng = nanorand::tls_rng(); let mut rng = nanorand::tls_rng();