1#[cfg(test)]
7extern crate self as pal_async;
8
9#[cfg(unix)]
10pub mod fd;
11pub mod interest;
12pub mod local;
13pub mod pipe;
14pub mod socket;
15pub mod timer;
16pub mod wait;
17
18pub mod driver;
19#[cfg(any(test, feature = "tests"))]
20pub mod executor_tests;
21pub mod io_pool;
22pub mod multi_waker;
23mod sparsevec;
24#[cfg_attr(unix, path = "unix/mod.rs")]
25#[cfg_attr(windows, path = "windows/mod.rs")]
26mod sys;
27pub mod task;
28mod waker;
29
30#[cfg(windows)]
32pub mod windows {
33 pub use super::sys::iocp::IocpDriver;
34 pub use super::sys::iocp::IocpPool;
35 pub use super::sys::overlapped;
36 pub use super::sys::pipe;
37 pub use super::sys::tp::TpPool;
38}
39
40#[cfg(unix)]
42pub mod unix {
43 pub use super::sys::pipe;
44 pub use super::sys::wait::FdWait;
45
46 #[cfg(target_os = "linux")]
47 pub use super::sys::epoll::EpollDriver;
48 #[cfg(target_os = "linux")]
49 pub use super::sys::epoll::EpollPool;
50
51 #[cfg(target_os = "macos")]
52 pub use super::sys::kqueue::KqueueDriver;
53 #[cfg(target_os = "macos")]
54 pub use super::sys::kqueue::KqueuePool;
55}
56
57pub type DefaultDriver = sys::DefaultDriver;
59pub type DefaultPool = sys::DefaultPool;
61
62pub use pal_async_test::async_test;