pub struct StartupCoordinator { /* private fields */ }Expand description
Ordered startup phase coordinator.
The coordinator owns phase ordering, failure policy handling, duration collection, and tracing. Product crates provide closures for the actual startup work and decide how to map report data into their own diagnostics or admin surfaces.
Implementations§
Source§impl StartupCoordinator
impl StartupCoordinator
Sourcepub fn required<F, Fut>(&mut self, name: &'static str, phase: F) -> &mut Self
pub fn required<F, Fut>(&mut self, name: &'static str, phase: F) -> &mut Self
Registers a required startup phase.
Sourcepub fn optional<F, Fut>(&mut self, name: &'static str, phase: F) -> &mut Self
pub fn optional<F, Fut>(&mut self, name: &'static str, phase: F) -> &mut Self
Registers an optional startup phase.
Sourcepub fn phase<F, Fut>(
&mut self,
name: &'static str,
failure_policy: StartupPhaseFailurePolicy,
phase: F,
) -> &mut Self
pub fn phase<F, Fut>( &mut self, name: &'static str, failure_policy: StartupPhaseFailurePolicy, phase: F, ) -> &mut Self
Registers a startup phase with an explicit failure policy.
Sourcepub async fn run(&mut self) -> StartupReport
pub async fn run(&mut self) -> StartupReport
Runs registered phases in order.
Required phase failures stop later phases. Optional phase failures are logged and included in the report while later phases continue.
Trait Implementations§
Source§impl Default for StartupCoordinator
impl Default for StartupCoordinator
Source§fn default() -> StartupCoordinator
fn default() -> StartupCoordinator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for StartupCoordinator
impl !RefUnwindSafe for StartupCoordinator
impl Send for StartupCoordinator
impl !Sync for StartupCoordinator
impl Unpin for StartupCoordinator
impl UnsafeUnpin for StartupCoordinator
impl !UnwindSafe for StartupCoordinator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more