From 50452e62b4df458d676fc95361b04ef2dd83aebf Mon Sep 17 00:00:00 2001 From: Yusuf Bera Ertan Date: Mon, 4 Jan 2021 22:58:39 +0300 Subject: Update `tokio` to `1.0` --- futures/Cargo.toml | 5 +++-- futures/src/time.rs | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) (limited to 'futures') diff --git a/futures/Cargo.toml b/futures/Cargo.toml index e8e47c08..92b504a6 100644 --- a/futures/Cargo.toml +++ b/futures/Cargo.toml @@ -26,9 +26,10 @@ optional = true features = ["rt-core", "rt-threaded", "time", "stream"] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio] -version = "0.3" +package = "tokio" +version = "1.0" optional = true -features = ["rt-multi-thread", "time", "stream"] +features = ["rt", "rt-multi-thread", "time"] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-std] version = "1.0" diff --git a/futures/src/time.rs b/futures/src/time.rs index 5e9ea436..7458af06 100644 --- a/futures/src/time.rs +++ b/futures/src/time.rs @@ -67,8 +67,20 @@ where let start = tokio::time::Instant::now() + self.0; - tokio::time::interval_at(start, self.0) - .map(|_| std::time::Instant::now()) - .boxed() + let stream = { + #[cfg(feature = "tokio")] + { + futures::stream::unfold( + tokio::time::interval_at(start, self.0), + |mut interval| async move { + Some((interval.tick().await, interval)) + }, + ) + } + #[cfg(feature = "tokio_old")] + tokio::time::interval_at(start, self.0) + }; + + stream.map(|_| std::time::Instant::now()).boxed() } } -- cgit