#![deny(missing_docs)]
#![forbid(unsafe_code)]
mod adapters;
mod constants;
mod error;
mod events;
mod graph;
mod health;
mod policy;
mod restart_executor;
mod service;
mod snapshot;
mod supervisor;
mod watchdog;
pub use adapters::{CallbackManagedService, ManagedThreadService, PassiveManagedService};
pub use constants::DEFAULT_EVENT_CAPACITY;
pub use error::{SupervisorError, SupervisorResult};
pub use events::{SupervisorEvent, SupervisorEventKind};
pub use health::{
DependencyRequirement, ServiceActivationState, ServiceHealth, ServiceRuntimeState,
};
pub use policy::{RestartMode, RestartPolicy};
pub use restart_executor::RestartState;
pub use service::{ManagedResource, ManagedService, ServiceDependency, ServiceDescriptor};
pub use snapshot::{
RestartExecutorSnapshot, ServiceSnapshot, SupervisorDiagnosis, WatchdogSnapshot,
};
pub use supervisor::Supervisor;
pub use watchdog::{
SupervisorWatchdog, WatchdogConfig, WatchdogState, DEFAULT_WATCHDOG_CHECK_INTERVAL_MS,
DEFAULT_WATCHDOG_STALL_TIMEOUT_MS,
};