1 | #![allow (clippy::needless_doctest_main)] |
2 | #![warn ( |
3 | missing_debug_implementations, |
4 | missing_docs, |
5 | rust_2018_idioms, |
6 | unreachable_pub |
7 | )] |
8 | #![doc (test( |
9 | no_crate_inject, |
10 | attr(deny(warnings, rust_2018_idioms), allow(dead_code, unused_variables)) |
11 | ))] |
12 | #![cfg_attr (docsrs, feature(doc_cfg))] |
13 | |
14 | //! Utilities for working with Tokio. |
15 | //! |
16 | //! This crate is not versioned in lockstep with the core |
17 | //! [`tokio`] crate. However, `tokio-util` _will_ respect Rust's |
18 | //! semantic versioning policy, especially with regard to breaking changes. |
19 | //! |
20 | //! [`tokio`]: https://docs.rs/tokio |
21 | |
22 | #[macro_use ] |
23 | mod cfg; |
24 | |
25 | mod loom; |
26 | |
27 | cfg_codec! { |
28 | pub mod codec; |
29 | } |
30 | |
31 | cfg_net! { |
32 | #[cfg (not(target_arch = "wasm32" ))] |
33 | pub mod udp; |
34 | pub mod net; |
35 | } |
36 | |
37 | cfg_compat! { |
38 | pub mod compat; |
39 | } |
40 | |
41 | cfg_io! { |
42 | pub mod io; |
43 | } |
44 | |
45 | cfg_rt! { |
46 | pub mod context; |
47 | pub mod task; |
48 | } |
49 | |
50 | cfg_time! { |
51 | pub mod time; |
52 | } |
53 | |
54 | pub mod sync; |
55 | |
56 | pub mod either; |
57 | |
58 | pub use bytes; |
59 | |
60 | mod util; |
61 | |