summaryrefslogtreecommitdiffstats
path: root/tokio/src/stream.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tokio/src/stream.rs')
-rw-r--r--tokio/src/stream.rs78
1 files changed, 0 insertions, 78 deletions
diff --git a/tokio/src/stream.rs b/tokio/src/stream.rs
deleted file mode 100644
index 0a597a58..00000000
--- a/tokio/src/stream.rs
+++ /dev/null
@@ -1,78 +0,0 @@
-//! A sequence of asynchronous values.
-
-#[cfg(feature = "time")]
-use std::time::Duration;
-
-#[cfg(feature = "time")]
-use crate::time::{throttle::Throttle, Timeout};
-
-#[doc(inline)]
-pub use futures_core::Stream;
-#[doc(inline)]
-pub use futures_util::stream::{empty, iter, once, pending, poll_fn, repeat, unfold};
-
-/// An extension trait for `Stream` that provides a variety of convenient
-/// combinator functions.
-///
-/// Currently, there are only [`timeout`] and [`throttle`] functions, but
-/// this will increase over time.
-///
-/// Users are not expected to implement this trait. All types that implement
-/// `Stream` already implement `StreamExt`.
-///
-/// This trait can be imported directly or via the Tokio prelude: `use
-/// tokio::prelude::*`.
-///
-/// [`throttle`]: method.throttle
-/// [`timeout`]: method.timeout
-pub trait StreamExt: Stream {
- /// Throttle down the stream by enforcing a fixed delay between items.
- ///
- /// Errors are also delayed.
- #[cfg(feature = "time")]
- fn throttle(self, duration: Duration) -> Throttle<Self>
- where
- Self: Sized,
- {
- Throttle::new(self, duration)
- }
-
- /// Creates a new stream which allows `self` until `timeout`.
- ///
- /// This combinator creates a new stream which wraps the receiving stream
- /// with a timeout. For each item, the returned stream is allowed to execute
- /// until it completes or `timeout` has elapsed, whichever happens first.
- ///
- /// If an item completes before `timeout` then the stream will yield
- /// with that item. Otherwise the stream will yield to an error.
- ///
- /// # Examples
- ///
- /// ```
- /// use tokio::prelude::*;
- ///
- /// use std::time::Duration;
- ///
- /// # fn slow_stream() -> impl Stream<Item = ()> {
- /// # tokio::stream::empty()
- /// # }
- /// #
- /// # async fn dox() {
- /// let mut stream = slow_stream()
- /// .timeout(Duration::from_secs(1));
- ///
- /// while let Some(value) = stream.next().await {
- /// println!("value = {:?}", value);
- /// }
- /// # }
- /// ```
- #[cfg(feature = "time")]
- fn timeout(self, timeout: Duration) -> Timeout<Self>
- where
- Self: Sized,
- {
- Timeout::new(self, timeout)
- }
-}
-
-impl<T: ?Sized> StreamExt for T where T: Stream {}