pub struct ShutdownManager { /* private fields */ }Expand description
Shutdown manager for coordinating graceful shutdown
Implementations§
Source§impl ShutdownManager
impl ShutdownManager
Sourcepub fn new(config: ShutdownConfig) -> Self
pub fn new(config: ShutdownConfig) -> Self
Create a new shutdown manager
Sourcepub async fn register_component(&self, component: Arc<dyn ShutdownHandler>)
pub async fn register_component(&self, component: Arc<dyn ShutdownHandler>)
Register a component for shutdown notifications
Sourcepub fn subscribe(&self) -> Receiver<ShutdownSignal>
pub fn subscribe(&self) -> Receiver<ShutdownSignal>
Get a shutdown signal receiver
Sourcepub async fn shutdown(&self, signal: ShutdownSignal) -> Result<()>
pub async fn shutdown(&self, signal: ShutdownSignal) -> Result<()>
Initiate graceful shutdown
Sourcepub async fn is_shutdown_in_progress(&self) -> bool
pub async fn is_shutdown_in_progress(&self) -> bool
Check if shutdown is in progress
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ShutdownManager
impl !RefUnwindSafe for ShutdownManager
impl Send for ShutdownManager
impl Sync for ShutdownManager
impl Unpin for ShutdownManager
impl !UnwindSafe for ShutdownManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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