#[cfg(feature = "events")]
pub mod events;
pub mod execution;
#[cfg(feature = "fleet")]
pub mod fleet;
#[cfg(feature = "support")]
pub mod gate;
#[cfg(feature = "support")]
pub mod guard;
pub mod registry;
mod runtime;
mod service;
pub mod state;
#[cfg(feature = "config-watch")]
mod watcher;
#[cfg(feature = "config")]
pub use congif::{ConfigObserver, Configurable};
#[cfg(feature = "events")]
pub use events::{Event, ProcessEventBus, ReloadRequired, ShutdownInitiated};
pub use execution::{
ExecutionDomain, ExecutionDriver, ExecutionFuture, ExecutionSpec,
ExecutorKind, ExecutorSpec, PollPriority, PreparedExecution,
SchedulingPolicy,
};
#[cfg(feature = "fleet")]
pub use fleet::{Dispatch, DispatchPolicy, Dispatched, Scope, Scoped};
#[cfg(feature = "support")]
pub use gate::{Gate, GateDrainOutcome, Permit};
#[cfg(feature = "support")]
pub use guard::{Guard, GuardGroup};
pub use registry::{
AnyComponent, AnyRunnable, Bootable, BoxError, Component, ComponentOrder,
Error, Finalizable, FinalizeFailure, FinalizeOutcome, MissingDependency,
Register, Registry, ReloadFailure, ReloadOutcome, ReloadState, Reloadable,
Resolve, Result, Runnable, StdError, ValidationFailure, ValidationOutcome,
};
pub use runtime::Runtime;
pub use service::{
RunContext, ServiceManager, ServiceManagerError, ServiceSnapshot,
ServiceStartPolicy, ServiceStatus,
};
#[cfg(feature = "config")]
pub use state::HasConfigReader;
#[cfg(feature = "events")]
pub use state::HasEvents;
#[cfg(feature = "registry")]
pub use state::HasRegistry;
pub use state::SharedState;
#[cfg(feature = "config-watch")]
pub use watcher::ConfigurationChanged;