stream: update features and doc for broadcast/watch stream (#3504)

This commit is contained in:
Alice Ryhl
2021-02-05 20:39:27 +01:00
committed by GitHub
parent fcb6d041b9
commit 0a04954d5c
7 changed files with 37 additions and 6 deletions
+10
View File
@@ -38,6 +38,16 @@ macro_rules! cfg_time {
}
}
macro_rules! cfg_sync {
($($item:item)*) => {
$(
#[cfg(feature = "sync")]
#[cfg_attr(docsrs, doc(cfg(feature = "sync")))]
$item
)*
}
}
macro_rules! ready {
($e:expr $(,)?) => {
match $e {
+13 -5
View File
@@ -1,17 +1,25 @@
//! Wrappers for Tokio types that implement `Stream`.
/// Error types for the wrappers.
pub mod errors {
cfg_sync! {
pub use crate::wrappers::broadcast::BroadcastStreamRecvError;
}
}
mod mpsc_bounded;
pub use mpsc_bounded::ReceiverStream;
mod mpsc_unbounded;
pub use mpsc_unbounded::UnboundedReceiverStream;
mod broadcast;
pub use broadcast::BroadcastStream;
pub use broadcast::BroadcastStreamRecvError;
cfg_sync! {
mod broadcast;
pub use broadcast::BroadcastStream;
mod watch;
pub use watch::WatchStream;
mod watch;
pub use watch::WatchStream;
}
cfg_time! {
mod interval;
+1
View File
@@ -12,6 +12,7 @@ use std::task::{Context, Poll};
///
/// [`tokio::sync::broadcast::Receiver`]: struct@tokio::sync::broadcast::Receiver
/// [`Stream`]: trait@crate::Stream
#[cfg_attr(docsrs, doc(cfg(feature = "sync")))]
pub struct BroadcastStream<T> {
inner: ReusableBoxFuture<(Result<T, RecvError>, Receiver<T>)>,
}
+1
View File
@@ -12,6 +12,7 @@ use tokio::sync::watch::error::RecvError;
///
/// [`tokio::sync::watch::Receiver`]: struct@tokio::sync::watch::Receiver
/// [`Stream`]: trait@crate::Stream
#[cfg_attr(docsrs, doc(cfg(feature = "sync")))]
pub struct WatchStream<T> {
inner: ReusableBoxFuture<(Result<(), RecvError>, Receiver<T>)>,
}