1macro_rules! ready {
2 ($e:expr) => {
3 match $e {
4 std::task::Poll::Ready(v) => v,
5 std::task::Poll::Pending => return std::task::Poll::Pending,
6 }
7 };
8}
9
10pub(crate) mod buf;
11#[cfg(all(feature = "server", any(feature = "http1", feature = "http2")))]
12pub(crate) mod date;
13#[cfg(all(feature = "server", any(feature = "http1", feature = "http2")))]
14pub(crate) mod drain;
15#[cfg(any(feature = "http1", feature = "http2", feature = "server"))]
16pub(crate) mod exec;
17pub(crate) mod io;
18#[cfg(all(feature = "client", any(feature = "http1", feature = "http2")))]
19mod lazy;
20mod never;
21#[cfg(any(
22 feature = "stream",
23 all(feature = "client", any(feature = "http1", feature = "http2"))
24))]
25pub(crate) mod sync_wrapper;
26pub(crate) mod task;
27pub(crate) mod watch;
28
29#[cfg(all(feature = "client", any(feature = "http1", feature = "http2")))]
30pub(crate) use self::lazy::{lazy, Started as Lazy};
31#[cfg(any(feature = "http1", feature = "http2", feature = "runtime"))]
32pub(crate) use self::never::Never;
33pub(crate) use self::task::Poll;
34
35// group up types normally needed for `Future`
36cfg_proto! {
37 pub(crate) use std::marker::Unpin;
38}
39pub(crate) use std::{future::Future, pin::Pin};
40