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_sync! {
17    mod broadcast;
18    pub use broadcast::BroadcastStream;
19
20    mod watch;
21    pub use watch::WatchStream;
22}
23
24cfg_signal! {
25    #[cfg(all(unix, not(loom)))]
26    mod signal_unix;
27    #[cfg(all(unix, not(loom)))]
28    pub use signal_unix::SignalStream;
29
30    #[cfg(any(windows, docsrs))]
31    mod signal_windows;
32    #[cfg(any(windows, docsrs))]
33    pub use signal_windows::{CtrlCStream, CtrlBreakStream};
34}
35
36cfg_time! {
37    mod interval;
38    pub use interval::IntervalStream;
39}
40
41cfg_net! {
42    #[cfg(not(loom))]
43    mod tcp_listener;
44    #[cfg(not(loom))]
45    pub use tcp_listener::TcpListenerStream;
46
47    #[cfg(all(unix, not(loom)))]
48    mod unix_listener;
49    #[cfg(all(unix, not(loom)))]
50    pub use unix_listener::UnixListenerStream;
51}
52
53cfg_io_util! {
54    mod split;
55    pub use split::SplitStream;
56
57    mod lines;
58    pub use lines::LinesStream;
59}
60
61cfg_fs! {
62    #[cfg(not(loom))]
63    mod read_dir;
64    #[cfg(not(loom))]
65    pub use read_dir::ReadDirStream;
66}