2019-03-01 21:04:43 -08:00
|
|
|
#![doc(html_root_url = "https://docs.rs/tokio-io/0.1.12")]
|
2019-05-14 10:27:36 -07:00
|
|
|
#![deny(missing_debug_implementations, missing_docs, rust_2018_idioms)]
|
|
|
|
|
#![cfg_attr(test, deny(warnings))]
|
|
|
|
|
#![doc(test(no_crate_inject, attr(deny(rust_2018_idioms))))]
|
2019-06-24 12:34:30 -07:00
|
|
|
//#![feature(async_await)]
|
2018-08-24 08:58:26 -07:00
|
|
|
|
2018-01-31 21:06:42 -08:00
|
|
|
//! Core I/O traits and combinators when working with Tokio.
|
|
|
|
|
//!
|
|
|
|
|
//! A description of the high-level I/O combinators can be [found online] in
|
|
|
|
|
//! addition to a description of the [low level details].
|
|
|
|
|
//!
|
|
|
|
|
//! [found online]: https://tokio.rs/docs/getting-started/core/
|
|
|
|
|
//! [low level details]: https://tokio.rs/docs/going-deeper-tokio/core-low-level/
|
|
|
|
|
|
2019-06-24 12:34:30 -07:00
|
|
|
macro_rules! ready {
|
2019-02-21 11:56:15 -08:00
|
|
|
($e:expr) => {
|
|
|
|
|
match $e {
|
2019-06-24 12:34:30 -07:00
|
|
|
::std::task::Poll::Ready(t) => t,
|
|
|
|
|
::std::task::Poll::Pending => return ::std::task::Poll::Pending,
|
2018-01-31 21:06:42 -08:00
|
|
|
}
|
2019-02-21 11:56:15 -08:00
|
|
|
};
|
2018-01-31 21:06:42 -08:00
|
|
|
}
|
|
|
|
|
|
2018-02-12 21:52:05 +04:00
|
|
|
mod async_read;
|
|
|
|
|
mod async_write;
|
2018-01-31 21:06:42 -08:00
|
|
|
|
2018-02-12 21:52:05 +04:00
|
|
|
pub use self::async_read::AsyncRead;
|
|
|
|
|
pub use self::async_write::AsyncWrite;
|