#![cfg_attr(docsrs, feature(doc_cfg))]
pub(crate) mod internal;
pub mod error;
pub mod monotonic;
pub mod sleep;
#[cfg(feature = "test-util")]
#[cfg_attr(docsrs, doc(cfg(feature = "test-util")))]
pub mod test_util;
pub mod timer;
pub mod wall;
#[cfg(feature = "tokio")]
pub use error::TokioRuntimeError;
pub use error::{
TimeError,
TimerUnavailableError,
};
pub use monotonic::{
ClockDomain,
ManualDeadlineFuture,
ManualMonotonicClock,
ManualWaiterFuture,
MonotonicClock,
MonotonicInstant,
StdMonotonicClock,
};
pub use sleep::BlockingSleeper;
pub use timer::{
ManualTimer,
StdTimer,
Timer,
TimerFuture,
};
pub use wall::{
FixedWallClock,
ManualWallClock,
StdWallClock,
WallClock,
};
#[doc(hidden)]
#[cfg(coverage)]
pub use timer::internal::std_timer_scheduler::{
fail_next_std_timer_worker_spawn,
panic_next_std_timer_worker,
reset_std_timer_worker_notification_count,
std_timer_worker_notification_count,
};
#[doc(hidden)]
#[cfg(all(coverage, feature = "tokio"))]
pub use timer::panic_next_tokio_timer_sleep_poll;
#[cfg(feature = "tokio")]
pub use monotonic::TokioMonotonicClock;
#[cfg(feature = "tokio")]
pub use timer::TokioTimer;