chiark
/
gitweb
/
~ian
/
hippotat.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e61a587
)
early return deadlines
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 22 Aug 2021 17:34:35 +0000
(18:34 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 22 Aug 2021 17:34:35 +0000
(18:34 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
server/suser.rs
patch
|
blob
|
history
diff --git
a/server/suser.rs
b/server/suser.rs
index 3a683a63b4737bcf105e0f98668ba4477623bbe8..b1a6409626e5241c781991966d463f8c12d5562a 100644
(file)
--- a/
server/suser.rs
+++ b/
server/suser.rs
@@
-49,6
+49,11
@@
pub async fn run(global: Arc<Global>,
.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<Global>,
},
}
}
+
+ () = async {if let Some(deadline) = earliest_deadline {
+ tokio::time::sleep_until(deadline).await;
+ } else {
+ future::pending().await
+ } } =>
+ {
+ }
}
}
}