#[cfg(feature = "sync")]
pub mod broadcast;
#[cfg(feature = "cancel")]
pub mod cancel;
#[cfg(any(feature = "sync", feature = "cancel"))]
pub mod guard;
#[cfg(feature = "sync")]
pub mod shutdown;
#[cfg(feature = "signal")]
pub mod signal;
pub mod prelude {
#[cfg(feature = "sync")]
pub use crate::broadcast::Broadcast;
#[cfg(feature = "cancel")]
pub use crate::cancel::CancellationToken;
#[cfg(any(feature = "sync", feature = "cancel"))]
pub use crate::guard::ShutdownGuard;
#[cfg(feature = "sync")]
pub use crate::shutdown::{Shutdown, ShutdownHandle};
#[cfg(all(feature = "signal", feature = "cancel"))]
pub use crate::signal::shutdown_signal;
#[cfg(all(feature = "signal", unix, feature = "rt", feature = "sync"))]
pub use crate::signal::wait_for;
#[cfg(feature = "signal")]
pub use crate::signal::{Signal, try_wait, wait, wait_timeout};
}
#[cfg(feature = "sync")]
pub use broadcast::Broadcast;
#[cfg(feature = "cancel")]
pub use cancel::CancellationToken;
#[cfg(any(feature = "sync", feature = "cancel"))]
pub use guard::ShutdownGuard;
#[cfg(feature = "sync")]
pub use shutdown::{Shutdown, ShutdownHandle};
#[cfg(all(feature = "signal", feature = "cancel"))]
pub use signal::shutdown_signal;
#[cfg(all(feature = "signal", unix, feature = "rt", feature = "sync"))]
pub use signal::wait_for;
#[cfg(feature = "signal")]
pub use signal::{Signal, try_wait, wait, wait_timeout};