1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// only enables the nightly `doc_cfg` feature when
// the `docsrs` configuration attribute is defined
#![cfg_attr(docsrs, feature(doc_cfg))]

/// Replacement for [`std::task::ready`].
#[macro_export]
macro_rules! ready {
    ($e:expr) => {
        match $e {
            Poll::Ready(t) => t,
            Poll::Pending => return Poll::Pending,
        }
    };
}

mod async_read_utility;
mod async_write_utility;
mod init_maybeuninit_io_slice;
mod io_slice_ext;
mod reusable_io_slices;

pub use async_read_utility::*;
pub use async_write_utility::write_vectored_all;
pub use init_maybeuninit_io_slice::init_maybeuninit_io_slices_mut;
pub use io_slice_ext::{IoSliceExt, IoSliceMutExt};
pub use reusable_io_slices::ReusableIoSlices;