time: use intrusive lists for timer tracking (#3080)

More-or-less a half-rewrite of the current time driver, supporting the
use of intrusive futures for timer registration.

Fixes: #3028, #3069
This commit is contained in:
bdonlan
2020-11-23 10:42:50 -08:00
committed by GitHub
parent f927f01a34
commit ae67851f11
28 changed files with 1558 additions and 919 deletions
+1 -1
View File
@@ -68,7 +68,7 @@ async fn starving() {
}
let when = Instant::now() + Duration::from_millis(20);
let starve = Starve(sleep_until(when), 0);
let starve = Starve(Box::pin(sleep_until(when)), 0);
starve.await;
assert!(Instant::now() >= when);