1#![forbid(unsafe_code)]
2
3mod emitter;
4mod resource;
5mod runtime;
6mod signal_ext;
7mod stream;
8mod task;
9mod testing;
10mod time;
11mod view_ext;
12mod wake;
13
14pub use emitter::{Emitter, StreamError};
15#[doc(hidden)]
16pub use emitter::{StreamKind, StreamMsgAny};
17pub use resource::{AsyncState, Resource};
18pub use runtime::AsyncRuntime;
19pub use signal_ext::{SignalAsyncExt, pipe_result_to_signal, pipe_to_signal};
20pub use stream::{backoff_delays, collect_stream, retry_with_backoff};
21pub use task::{JoinError, TaskHandle, TaskId};
22pub use testing::{TestDrain, drain_until, run_until};
23pub use time::{
24 Debouncer, Elapsed, Interval, Throttler, Ticks, TimeoutError, sleep, ticks, timeout,
25 with_timeout,
26};
27pub use view_ext::ScopedTask;
28pub use wake::{WakeFn, fn_wake, noop_wake};
29
30pub mod prelude {
31 pub use crate::{
32 AsyncState, Debouncer, Emitter, Resource, ScopedTask, SignalAsyncExt, TaskHandle, TaskId,
33 Throttler, sleep, timeout,
34 };
35}