diff --git a/integrations/warp/Cargo.toml b/integrations/warp/Cargo.toml index fffd1d30..b4c20b67 100644 --- a/integrations/warp/Cargo.toml +++ b/integrations/warp/Cargo.toml @@ -20,3 +20,4 @@ serde_json = "1.0.59" [dev-dependencies] tokio = { version = "1.0", default-features = false, features = ["macros", "rt-multi-thread", "time"] } +async-stream = "0.3.0" diff --git a/integrations/warp/src/subscription.rs b/integrations/warp/src/subscription.rs index 7de6f9c4..f4dbd0a2 100644 --- a/integrations/warp/src/subscription.rs +++ b/integrations/warp/src/subscription.rs @@ -31,7 +31,13 @@ use warp::{Filter, Rejection, Reply}; /// #[Subscription] /// impl SubscriptionRoot { /// async fn tick(&self) -> impl Stream { -/// tokio::time::interval(Duration::from_secs(1)).map(|n| format!("{}", n.elapsed().as_secs_f32())) +/// async_stream::stream! { +/// let mut interval = tokio::time::interval(Duration::from_secs(1)); +/// loop { +/// let n = interval.tick().await; +/// yield format!("{}", n.elapsed().as_secs_f32()); +/// } +/// } /// } /// } ///