mod outcome;
pub use outcome::{TaskOutcome, TaskOutcomeKind, TaskWaiter};
mod ownership;
pub use ownership::OwnershipSnapshot;
mod runtime;
pub(crate) use runtime::SupervisorCore;
mod builder;
pub use builder::SupervisorBuilder;
mod config;
pub(crate) use config::MAX_ASYNC_CAPACITY;
#[cfg(feature = "controller")]
pub(crate) use config::validate_async_capacity;
pub use config::{ConfigError, SupervisorConfig};
mod task_defaults;
pub use task_defaults::TaskDefaults;
mod handle;
pub use handle::SupervisorHandle;
mod operations;
pub use operations::{
AddOperation, CancelOperation, FailFast, OwnershipTimed, RemoveOperation, TaskTarget,
TerminationTimed, TerminationUnbounded, Unwatched, Waiting, Watched,
};
mod supervisor;
pub use supervisor::Supervisor;
mod owner;
pub(crate) use owner::RuntimeOwner;
pub(crate) mod deferred_drop;
pub(crate) mod panic_guard;
mod actor;
mod runner;
mod shutdown;
mod registry;
#[cfg(feature = "controller")]
pub(crate) use registry::{AddReplyRx, OutcomeTx, RemovalCompletion};
#[cfg(feature = "controller")]
pub(crate) use runtime::ControllerAddPermit;
#[cfg(feature = "controller")]
pub(crate) struct UncommittedWatchedAdd {
pub(crate) error: crate::RuntimeError,
pub(crate) name: std::sync::Arc<str>,
pub(crate) owned: deferred_drop::OwnedTask<crate::TaskSpec>,
pub(crate) done: Option<registry::OutcomeTx>,
}
#[cfg(feature = "controller")]
impl std::fmt::Debug for UncommittedWatchedAdd {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("UncommittedWatchedAdd")
.field("error", &self.error)
.finish_non_exhaustive()
}
}