summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs4
-rw-r--r--src/time.rs14
2 files changed, 18 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index e03cd7e9..d1e5fb94 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -190,6 +190,10 @@ pub mod settings;
pub mod widget;
pub mod window;
+#[cfg(any(feature = "tokio", feature = "async-std"))]
+#[cfg_attr(docsrs, doc(cfg(any(feature = "tokio", feature = "async-std"))))]
+pub mod time;
+
#[doc(no_inline)]
pub use widget::*;
diff --git a/src/time.rs b/src/time.rs
new file mode 100644
index 00000000..cd442461
--- /dev/null
+++ b/src/time.rs
@@ -0,0 +1,14 @@
+//! Listen and react to time.
+use crate::Subscription;
+
+/// Returns a [`Subscription`] that produces messages at a set interval.
+///
+/// The first message is produced after a `duration`, and then continues to
+/// produce more messages every `duration` after that.
+///
+/// [`Subscription`]: ../subscription/struct.Subscription.html
+pub fn every(
+ duration: std::time::Duration,
+) -> Subscription<std::time::Instant> {
+ iced_futures::time::every(duration)
+}