1#![deny(clippy::pedantic)]
3#![allow(
4 clippy::missing_errors_doc,
5 clippy::missing_fields_in_debug,
6 clippy::must_use_candidate
7)]
8
9mod arbiter;
10mod builder;
11mod driver;
12mod handle;
13mod pool;
14pub mod signals;
15mod system;
16mod task;
17
18mod rt;
19pub mod rt_default;
20
21#[cfg(feature = "compio")]
22pub mod rt_compio;
23#[cfg(feature = "tokio")]
24pub mod rt_tokio;
25
26pub use self::arbiter::{Arbiter, get_item, remove_all_items, set_item, with_item};
27pub use self::builder::{Builder, SystemRunner};
28pub use self::driver::{BlockFuture, Driver, DriverType, Notify, PollResult, Runner};
29pub use self::pool::{BlockingError, BlockingResult, ThreadPool, spawn_blocking};
30pub use self::rt::{Runtime, RuntimeBuilder};
31pub use self::system::{Id, PingRecord, System};
32pub use self::task::{task_callbacks, task_opt_callbacks};
33
34#[cfg(feature = "tokio")]
35pub use self::rt_tokio::*;
36
37#[cfg(all(feature = "compio", not(feature = "tokio")))]
38pub use self::rt_compio::*;
39
40#[cfg(all(not(feature = "tokio"), not(feature = "compio")))]
41pub use self::rt_default::*;
42
43pub(crate) type HashMap<K, V> =
44 std::collections::HashMap<K, V, foldhash::fast::RandomState>;
45pub(crate) type HashSet<V> = std::collections::HashSet<V, foldhash::fast::RandomState>;