#![deny(unsafe_op_in_unsafe_fn, missing_docs)]
pub const BACKEND_NAME: &str = env!("TURNLOOP_BACKEND");
pub mod backend;
mod buffer;
mod types;
pub use buffer::*;
pub use types::*;
mod native;
pub use native::*;
mod completion;
mod driver;
mod table;
#[doc(hidden)]
pub mod timer;
pub use completion::*;
pub use driver::Driver;
mod notifier;
mod queue;
mod sync;
pub use notifier::{Notifier, PostError, Poster};
#[cfg(any(
turnloop_backend = "kqueue",
turnloop_backend = "epoll",
turnloop_backend = "wasi_p2",
turnloop_backend = "web",
all(turnloop_backend = "wasi_p3", feature = "wasi-p3-experimental")
))]
pub type Loop = Driver<backend::Platform>;
#[cfg(any(turnloop_backend = "kqueue", turnloop_backend = "epoll"))]
pub use backend::unix::Detached;
mod blocking;
pub use blocking::{DnsRequest, PoolConfig};
mod time;
pub use time::Instant;
mod external_wait;
pub use external_wait::{WaitCondition, WaitResult};
#[cfg(feature = "executor")]
pub mod executor;
#[cfg(feature = "executor")]
pub use executor::{
AsyncIo, ExecutorConfig, ExecutorHandle, JoinError, JoinHandle, LocalExecutor, Sleep,
};
#[cfg(all(test, not(loom)))]
mod portable_tests;