pub struct ShutdownCoordinator { /* private fields */ }Expand description
Manages the graceful shutdown process.
Implementations§
Source§impl ShutdownCoordinator
impl ShutdownCoordinator
Sourcepub fn new(config: ShutdownConfig) -> Self
pub fn new(config: ShutdownConfig) -> Self
Create a new shutdown coordinator.
Sourcepub fn initiate(&mut self, supervisor: &ActorSupervisor) -> Vec<ActorId>
pub fn initiate(&mut self, supervisor: &ActorSupervisor) -> Vec<ActorId>
Initiate graceful shutdown.
Returns the ordered list of actors to drain.
Sourcepub fn mark_drained(&mut self, actor: ActorId)
pub fn mark_drained(&mut self, actor: ActorId)
Mark an actor as drained (finished processing in-flight messages).
Sourcepub fn is_timeout_expired(&self) -> bool
pub fn is_timeout_expired(&self) -> bool
Check if the drain timeout has expired.
Sourcepub fn tick(&mut self) -> (ShutdownPhase, Vec<ActorId>)
pub fn tick(&mut self) -> (ShutdownPhase, Vec<ActorId>)
Advance the shutdown state machine.
Returns the current phase and any actors that need force-killing.
Sourcepub fn phase(&self) -> ShutdownPhase
pub fn phase(&self) -> ShutdownPhase
Current shutdown phase.
Sourcepub fn report(&self) -> ShutdownReport
pub fn report(&self) -> ShutdownReport
Get shutdown report.
Auto Trait Implementations§
impl Freeze for ShutdownCoordinator
impl RefUnwindSafe for ShutdownCoordinator
impl Send for ShutdownCoordinator
impl Sync for ShutdownCoordinator
impl Unpin for ShutdownCoordinator
impl UnsafeUnpin for ShutdownCoordinator
impl UnwindSafe for ShutdownCoordinator
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.