Skip to main content

tokio_stream/
wrappers.rs

1//! Wrappers for Tokio types that implement `Stream`.
2
3/// Error types for the wrappers.
4pub mod errors {
5    cfg_sync! {
6        pub use crate::wrappers::broadcast::BroadcastStreamRecvError;
7    }
8}
9
10mod mpsc_bounded;
11pub use mpsc_bounded::ReceiverStream;
12
13mod mpsc_unbounded;
14pub use mpsc_unbounded::UnboundedReceiverStream;
15
16cfg_rt! {
17    mod task;
18    pub use task::JoinSetStream;
19}
20
21cfg_sync! {
22    mod broadcast;
23    pub use broadcast::BroadcastStream;
24
25    mod watch;
26    pub use watch::WatchStream;
27}
28
29cfg_signal! {
30    #[cfg(all(unix, not(loom)))]
31    mod signal_unix;
32    #[cfg(all(unix, not(loom)))]
33    pub use signal_unix::SignalStream;
34
35    #[cfg(any(windows, docsrs))]
36    mod signal_windows;
37    #[cfg(any(windows, docsrs))]
38    pub use signal_windows::{CtrlCStream, CtrlBreakStream};
39}
40
41cfg_time! {
42    mod interval;
43    pub use interval::IntervalStream;
44}
45
46cfg_net! {
47    #[cfg(not(loom))]
48    mod tcp_listener;
49    #[cfg(not(loom))]
50    pub use tcp_listener::TcpListenerStream;
51
52    #[cfg(all(unix, not(loom)))]
53    mod unix_listener;
54    #[cfg(all(unix, not(loom)))]
55    pub use unix_listener::UnixListenerStream;
56}
57
58cfg_io_util! {
59    mod split;
60    pub use split::SplitStream;
61
62    mod lines;
63    pub use lines::LinesStream;
64}
65
66cfg_fs! {
67    #[cfg(not(loom))]
68    mod read_dir;
69    #[cfg(not(loom))]
70    pub use read_dir::ReadDirStream;
71}