next_available should not be reversed and other bugs
This commit is contained in:
parent
5fe5b97aef
commit
7e0b6c3034
@ -1011,6 +1011,12 @@ impl RpcsForRequest {
|
|||||||
|
|
||||||
stream! {
|
stream! {
|
||||||
loop {
|
loop {
|
||||||
|
if self.request.ttl_expired() {
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
yield_now().await;
|
||||||
|
}
|
||||||
|
|
||||||
let mut earliest_retry_at = None;
|
let mut earliest_retry_at = None;
|
||||||
let mut wait_for_sync = None;
|
let mut wait_for_sync = None;
|
||||||
|
|
||||||
@ -1130,7 +1136,17 @@ impl RpcsForRequest {
|
|||||||
(Some(wait_for_sync), Some(retry_at)) => {
|
(Some(wait_for_sync), Some(retry_at)) => {
|
||||||
select! {
|
select! {
|
||||||
x = wait_for_sync => {
|
x = wait_for_sync => {
|
||||||
todo!()
|
match x {
|
||||||
|
Ok(rpc) => {
|
||||||
|
trace!(%rpc, "rpc ready. it might be used on the next loop");
|
||||||
|
// TODO: try a handle now?
|
||||||
|
continue;
|
||||||
|
},
|
||||||
|
Err(err) => {
|
||||||
|
trace!(?err, "problem while waiting for an rpc for a request");
|
||||||
|
break;
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_ = sleep_until(retry_at) => {
|
_ = sleep_until(retry_at) => {
|
||||||
yield_now().await;
|
yield_now().await;
|
||||||
|
@ -259,7 +259,7 @@ impl Web3Rpc {
|
|||||||
&self,
|
&self,
|
||||||
max_block: Option<U64>,
|
max_block: Option<U64>,
|
||||||
start_instant: Instant,
|
start_instant: Instant,
|
||||||
) -> (Reverse<Instant>, bool, Reverse<U64>, u32) {
|
) -> (Instant, bool, Reverse<U64>, u32) {
|
||||||
let mut head_block = self
|
let mut head_block = self
|
||||||
.head_block_sender
|
.head_block_sender
|
||||||
.as_ref()
|
.as_ref()
|
||||||
@ -276,7 +276,7 @@ impl Web3Rpc {
|
|||||||
|
|
||||||
let next_available = self.next_available(start_instant);
|
let next_available = self.next_available(start_instant);
|
||||||
|
|
||||||
(Reverse(next_available), !backup, Reverse(head_block), tier)
|
(next_available, !backup, Reverse(head_block), tier)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// sort with `sort_on` and then on `weighted_peak_latency`
|
/// sort with `sort_on` and then on `weighted_peak_latency`
|
||||||
|
Loading…
Reference in New Issue
Block a user