Struct ShutdownGuard
pub struct ShutdownGuard {
handle: JoinHandle<()>,
signal: ShutdownSignal,
}Expand description
Guard returned by GracefulShutdown::install.
Holds the background signal-listening task. Call wait to
block until the signal fires and the grace period elapses (or until the
task is aborted on drop).
Fields§
§handle: JoinHandle<()>§signal: ShutdownSignalImplementations§
§impl ShutdownGuard
impl ShutdownGuard
pub fn signal(&self) -> ShutdownSignal
pub fn signal(&self) -> ShutdownSignal
Get a ShutdownSignal from this guard.
pub async fn wait(self)
pub async fn wait(self)
Wait for the signal listener task to complete.
This resolves after a signal has been received and the grace
period has elapsed. If no signal is ever received this future
never completes (you can select! it against your main workload).
pub fn cancel(self)
pub fn cancel(self)
Cancel the signal listener without waiting.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ShutdownGuard
impl !RefUnwindSafe for ShutdownGuard
impl Send for ShutdownGuard
impl Sync for ShutdownGuard
impl Unpin for ShutdownGuard
impl !UnwindSafe for ShutdownGuard
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§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.