pub struct ExecutionControl { /* private fields */ }Expand description
Cloneable cooperative control shared through one execution.
Child controls inherit every ancestor cancellation state and the tightest deadline. Cancelling a child does not cancel its parent. Cancellation events are serialized across the hierarchy, so the first event visible to a control remains its reason permanently.
Implementations§
Source§impl ExecutionControl
impl ExecutionControl
pub fn new(deadline: Option<Instant>) -> Self
pub fn with_timeout(timeout: Duration) -> Self
pub fn child_with_deadline(&self, deadline: Option<Instant>) -> Self
pub fn child_with_timeout(&self, timeout: Duration) -> Self
pub fn cancel(&self, reason: CancellationReason)
pub fn checkpoint(&self) -> Result<()>
pub async fn cancelled(&self)
pub fn remaining_duration(&self) -> Option<Duration>
pub fn deadline(&self) -> Option<Instant>
pub fn reason(&self) -> CancellationReason
pub fn is_cancelled(&self) -> bool
Trait Implementations§
Source§impl Clone for ExecutionControl
impl Clone for ExecutionControl
Source§fn clone(&self) -> ExecutionControl
fn clone(&self) -> ExecutionControl
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ExecutionControl
impl !UnwindSafe for ExecutionControl
impl Freeze for ExecutionControl
impl Send for ExecutionControl
impl Sync for ExecutionControl
impl Unpin for ExecutionControl
impl UnsafeUnpin for ExecutionControl
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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