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