1 | #![allow (unreachable_pub)] // https://github.com/rust-lang/rust/issues/57411 |
2 | |
3 | cfg_io_util! { |
4 | mod async_buf_read_ext; |
5 | pub use async_buf_read_ext::AsyncBufReadExt; |
6 | |
7 | mod async_read_ext; |
8 | pub use async_read_ext::AsyncReadExt; |
9 | |
10 | mod async_seek_ext; |
11 | pub use async_seek_ext::AsyncSeekExt; |
12 | |
13 | mod async_write_ext; |
14 | pub use async_write_ext::AsyncWriteExt; |
15 | |
16 | mod buf_reader; |
17 | pub use buf_reader::BufReader; |
18 | |
19 | mod buf_stream; |
20 | pub use buf_stream::BufStream; |
21 | |
22 | mod buf_writer; |
23 | pub use buf_writer::BufWriter; |
24 | |
25 | mod chain; |
26 | |
27 | mod copy; |
28 | pub use copy::copy; |
29 | |
30 | mod copy_bidirectional; |
31 | pub use copy_bidirectional::copy_bidirectional; |
32 | |
33 | mod copy_buf; |
34 | pub use copy_buf::copy_buf; |
35 | |
36 | mod empty; |
37 | pub use empty::{empty, Empty}; |
38 | |
39 | mod flush; |
40 | |
41 | mod lines; |
42 | pub use lines::Lines; |
43 | |
44 | mod mem; |
45 | pub use mem::{duplex, DuplexStream}; |
46 | |
47 | mod read; |
48 | mod read_buf; |
49 | mod read_exact; |
50 | mod read_int; |
51 | mod read_line; |
52 | mod fill_buf; |
53 | |
54 | mod read_to_end; |
55 | mod vec_with_initialized; |
56 | cfg_process! { |
57 | pub(crate) use read_to_end::read_to_end; |
58 | } |
59 | |
60 | mod read_to_string; |
61 | mod read_until; |
62 | |
63 | mod repeat; |
64 | pub use repeat::{repeat, Repeat}; |
65 | |
66 | mod shutdown; |
67 | |
68 | mod sink; |
69 | pub use sink::{sink, Sink}; |
70 | |
71 | mod split; |
72 | pub use split::Split; |
73 | |
74 | mod take; |
75 | pub use take::Take; |
76 | |
77 | mod write; |
78 | mod write_vectored; |
79 | mod write_all; |
80 | mod write_buf; |
81 | mod write_all_buf; |
82 | mod write_int; |
83 | |
84 | |
85 | // used by `BufReader` and `BufWriter` |
86 | // https://github.com/rust-lang/rust/blob/master/library/std/src/sys_common/io.rs#L1 |
87 | const DEFAULT_BUF_SIZE: usize = 8 * 1024; |
88 | |
89 | cfg_coop! { |
90 | fn poll_proceed_and_make_progress(cx: &mut std::task::Context<'_>) -> std::task::Poll<()> { |
91 | let coop = ready!(crate::runtime::coop::poll_proceed(cx)); |
92 | coop.made_progress(); |
93 | std::task::Poll::Ready(()) |
94 | } |
95 | } |
96 | |
97 | cfg_not_coop! { |
98 | fn poll_proceed_and_make_progress(_: &mut std::task::Context<'_>) -> std::task::Poll<()> { |
99 | std::task::Poll::Ready(()) |
100 | } |
101 | } |
102 | } |
103 | |
104 | cfg_not_io_util! { |
105 | cfg_process! { |
106 | mod vec_with_initialized; |
107 | mod read_to_end; |
108 | // Used by process |
109 | pub(crate) use read_to_end::read_to_end; |
110 | } |
111 | } |
112 | |