layered_io/
lib.rs

1//! I/O traits extending [`std::io::Read`] and [`std::io::Write`].
2
3#![deny(missing_docs)]
4#![cfg_attr(can_vector, feature(can_vector))]
5#![cfg_attr(write_all_vectored, feature(write_all_vectored))]
6#![cfg_attr(target_os = "wasi", feature(wasi_ext))]
7
8#[cfg(feature = "futures-io")]
9mod async_read_layered;
10#[cfg(feature = "futures-io")]
11mod async_write_layered;
12mod bufferable;
13mod duplex_layered;
14mod layered_duplexer;
15mod layered_reader;
16mod layered_writer;
17mod read_layered;
18mod slice_reader;
19mod status;
20#[cfg(feature = "tokio")]
21mod tokio_read_layered;
22#[cfg(feature = "tokio")]
23mod tokio_write_layered;
24mod write_layered;
25
26#[cfg(feature = "futures-io")]
27pub use async_read_layered::{default_poll_read, default_poll_read_vectored, AsyncReadLayered};
28#[cfg(feature = "futures-io")]
29pub use async_write_layered::{default_poll_write_vectored, AsyncWriteLayered};
30pub use bufferable::{default_suggested_buffer_size, Bufferable};
31pub use duplex_layered::HalfDuplexLayered;
32pub use layered_duplexer::LayeredDuplexer;
33pub use layered_reader::LayeredReader;
34pub use layered_writer::LayeredWriter;
35#[cfg(can_vector)]
36pub use read_layered::default_is_read_vectored;
37pub use read_layered::{
38    default_read, default_read_exact_using_status, default_read_to_end, default_read_to_string,
39    default_read_vectored, to_std_io_read_result, ReadLayered,
40};
41pub use slice_reader::SliceReader;
42pub use status::{Activity, Status};
43#[cfg(feature = "tokio")]
44pub use tokio_read_layered::{tokio_default_poll_read, TokioReadLayered};
45#[cfg(feature = "tokio")]
46pub use tokio_write_layered::{tokio_default_poll_write_vectored, TokioWriteLayered};
47#[cfg(can_vector)]
48pub use write_layered::default_is_write_vectored;
49#[cfg(write_all_vectored)]
50pub use write_layered::default_write_all_vectored;
51pub use write_layered::{default_write_all, default_write_vectored, WriteLayered};