summaryrefslogtreecommitdiffstats
path: root/futures/src/backend/native/tokio.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2024-05-23 13:29:45 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2024-05-23 13:29:45 +0200
commitd8ba6b0673a33724a177f3a1ba59705527280142 (patch)
tree89482c8d1e3a03e00b3a8151abbb81e30ae5898c /futures/src/backend/native/tokio.rs
parent72ed8bcc8def9956e25f3720a3095fc96bb2eef0 (diff)
parent468794d918eb06c1dbebb33c32b10017ad335f05 (diff)
downloadiced-d8ba6b0673a33724a177f3a1ba59705527280142.tar.gz
iced-d8ba6b0673a33724a177f3a1ba59705527280142.tar.bz2
iced-d8ba6b0673a33724a177f3a1ba59705527280142.zip
Merge branch 'master' into feat/text-macro
Diffstat (limited to 'futures/src/backend/native/tokio.rs')
-rw-r--r--futures/src/backend/native/tokio.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/futures/src/backend/native/tokio.rs b/futures/src/backend/native/tokio.rs
index 4698a105..df91d798 100644
--- a/futures/src/backend/native/tokio.rs
+++ b/futures/src/backend/native/tokio.rs
@@ -22,8 +22,7 @@ impl crate::Executor for Executor {
pub mod time {
//! Listen and react to time.
- use crate::core::Hasher;
- use crate::subscription::{self, Subscription};
+ use crate::subscription::{self, Hasher, Subscription};
/// Returns a [`Subscription`] that produces messages at a set interval.
///
@@ -56,13 +55,15 @@ pub mod time {
let start = tokio::time::Instant::now() + self.0;
+ let mut interval = tokio::time::interval_at(start, self.0);
+ interval.set_missed_tick_behavior(
+ tokio::time::MissedTickBehavior::Skip,
+ );
+
let stream = {
- futures::stream::unfold(
- tokio::time::interval_at(start, self.0),
- |mut interval| async move {
- Some((interval.tick().await, interval))
- },
- )
+ futures::stream::unfold(interval, |mut interval| async move {
+ Some((interval.tick().await, interval))
+ })
};
stream.map(tokio::time::Instant::into_std).boxed()