From d3ba91d74c8b1fd22ae19a0d6d9618e161ca60e4 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 22 Aug 2021 18:34:35 +0100 Subject: [PATCH] early return deadlines Signed-off-by: Ian Jackson --- server/suser.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/suser.rs b/server/suser.rs index 3a683a6..b1a6409 100644 --- a/server/suser.rs +++ b/server/suser.rs @@ -49,6 +49,11 @@ pub async fn run(global: Arc, .min() .unwrap_or(ic.max_batch_down) .sat(); + let earliest_deadline = outstanding + .iter() + .map(|o| o.oi.deadline) + .min(); + if let Some(req) = { let now = Instant::now(); @@ -210,6 +215,14 @@ pub async fn run(global: Arc, }, } } + + () = async {if let Some(deadline) = earliest_deadline { + tokio::time::sleep_until(deadline).await; + } else { + future::pending().await + } } => + { + } } } } -- 2.30.2