pub struct ShutdownSignal { /* private fields */ }Expand description
One-way “stop now” signal, observable by any number of tasks.
A latched flag rather than a bare Notify: a task that checks after the
signal fired must still see it, or a worker between two units would sleep
through the daemon’s exit and hold the store open.
Implementations§
Source§impl ShutdownSignal
impl ShutdownSignal
pub fn new() -> Self
pub fn is_triggered(&self) -> bool
Sourcepub async fn guard<F: Future>(&self, future: F) -> Option<F::Output>
pub async fn guard<F: Future>(&self, future: F) -> Option<F::Output>
Run future unless shutdown arrives first. None means it did.
Sourcepub async fn sleep_until_stopped(&self, duration: Duration) -> bool
pub async fn sleep_until_stopped(&self, duration: Duration) -> bool
Sleep for duration. true means shutdown cut it short.
Trait Implementations§
Source§impl Debug for ShutdownSignal
impl Debug for ShutdownSignal
Source§impl Default for ShutdownSignal
impl Default for ShutdownSignal
Source§fn default() -> ShutdownSignal
fn default() -> ShutdownSignal
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ShutdownSignal
impl RefUnwindSafe for ShutdownSignal
impl Send for ShutdownSignal
impl Sync for ShutdownSignal
impl Unpin for ShutdownSignal
impl UnsafeUnpin for ShutdownSignal
impl UnwindSafe for ShutdownSignal
Blanket Implementations§
impl<T> AsyncFriendly for T
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<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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().