Skip to main content

behavior_actors/lifecycle/
mod.rs

1//! Lifecycle observation, application-root, terminal-result, and graceful-shutdown behaviors.
2
3mod child_shutdown;
4mod shutdown_coordinator;
5mod task;
6pub(crate) mod termination_monitor;
7mod termination_propagation;
8
9pub use crate::shutdown::{FinalizeOnShutdown, ShutdownEvent, ShutdownReaction, StopOnShutdown};
10pub use crate::watch::{LinkReaction, Watch, WatchEvent, stop_on_abnormal_death};
11pub use child_shutdown::{
12    BeginShutdownPhases, ChildCreationExpectation, ChildShutdownPhases, ChildShutdownPlanError,
13    DeclareShutdownPhase, FinishShutdownPhases, shutdown_after_children,
14};
15pub use shutdown_coordinator::{
16    HeterogeneousShutdownChoiceSettlement, HeterogeneousShutdownCoordinator,
17    HeterogeneousShutdownItem, HeterogeneousShutdownPlan, HeterogeneousShutdownSends,
18    InstallShutdownPlan, NoShutdownTargets, ReportShutdownPlan, ShutdownChoice,
19    ShutdownCoordinator, ShutdownCoordinatorError, ShutdownCoordinatorEvent, ShutdownPlan,
20    ShutdownPlanError, ShutdownState, ShutdownTargetAt, ShutdownTree, ShutdownTreeError,
21    shutdown_target,
22};
23pub use task::{Task, TaskError, TaskMessage, TaskResult, TaskState};
24pub use termination_monitor::{
25    EstablishedTerminationMonitor, EstablishedTerminationReaction, EstablishedTerminationTarget,
26    LogicalTerminationTarget, TerminationMonitor, TerminationMonitorError, TerminationMonitorWith,
27    TerminationObservation, TerminationObservationTarget, TerminationReaction,
28};
29pub use termination_propagation::{
30    ChildTermination, PeerTermination, PropagateTermination, TerminalDisposition,
31    TerminalPropagationPolicy, TerminalPropagationSends, TerminalPropagationState,
32    TerminationPropagationError, TerminationTarget, propagate_abnormal, propagate_all,
33};