Struct tokio_stream::wrappers::WatchStream [−][src]
This is supported on crate feature
sync
only.A wrapper around tokio::sync::watch::Receiver
that implements Stream
.
This stream will always start by yielding the current value when the WatchStream is polled, regardles of whether it was the initial value or sent afterwards.
Examples
use tokio_stream::{StreamExt, wrappers::WatchStream}; use tokio::sync::watch; let (tx, rx) = watch::channel("hello"); let mut rx = WatchStream::new(rx); assert_eq!(rx.next().await, Some("hello")); tx.send("goodbye").unwrap(); assert_eq!(rx.next().await, Some("goodbye"));
use tokio_stream::{StreamExt, wrappers::WatchStream}; use tokio::sync::watch; let (tx, rx) = watch::channel("hello"); let mut rx = WatchStream::new(rx); tx.send("goodbye").unwrap(); assert_eq!(rx.next().await, Some("goodbye"));
Implementations
impl<T: 'static + Clone + Unpin + Send + Sync> WatchStream<T>
[src]
Trait Implementations
impl<T> Debug for WatchStream<T>
[src]
impl<T: Clone + 'static + Send + Sync> Stream for WatchStream<T>
[src]
type Item = T
Values yielded by the stream.
fn poll_next(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>
[src]
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>
pub fn size_hint(&self) -> (usize, Option<usize>)
[src]
impl<T> Unpin for WatchStream<T>
[src]
Auto Trait Implementations
impl<T> !RefUnwindSafe for WatchStream<T>
impl<T> Send for WatchStream<T>
impl<T> Sync for WatchStream<T>
impl<T> !UnwindSafe for WatchStream<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,
[src]
S: Stream<Item = Result<T, E>> + ?Sized,