1#[cfg(feature = "sync")]
9pub mod broadcast;
10#[cfg(feature = "cancel")]
11pub mod cancel;
12#[cfg(any(feature = "sync", feature = "cancel"))]
13pub mod guard;
14#[cfg(feature = "sync")]
15pub mod shutdown;
16#[cfg(feature = "signal")]
17pub mod signal;
18
19pub mod prelude {
21 #[cfg(feature = "sync")]
22 pub use crate::broadcast::Broadcast;
23 #[cfg(feature = "cancel")]
24 pub use crate::cancel::CancellationToken;
25 #[cfg(any(feature = "sync", feature = "cancel"))]
26 pub use crate::guard::ShutdownGuard;
27 #[cfg(feature = "sync")]
28 pub use crate::shutdown::{Shutdown, ShutdownHandle};
29 #[cfg(all(feature = "signal", feature = "cancel"))]
30 pub use crate::signal::shutdown_signal;
31 #[cfg(all(feature = "signal", unix, feature = "rt", feature = "sync"))]
32 pub use crate::signal::wait_for;
33 #[cfg(feature = "signal")]
34 pub use crate::signal::{Signal, try_wait, wait, wait_timeout};
35}
36
37#[cfg(feature = "sync")]
39pub use broadcast::Broadcast;
40#[cfg(feature = "cancel")]
41pub use cancel::CancellationToken;
42#[cfg(any(feature = "sync", feature = "cancel"))]
43pub use guard::ShutdownGuard;
44#[cfg(feature = "sync")]
45pub use shutdown::{Shutdown, ShutdownHandle};
46#[cfg(all(feature = "signal", feature = "cancel"))]
47pub use signal::shutdown_signal;
48#[cfg(all(feature = "signal", unix, feature = "rt", feature = "sync"))]
49pub use signal::wait_for;
50#[cfg(feature = "signal")]
51pub use signal::{Signal, try_wait, wait, wait_timeout};