pub struct AbortableScope { /* private fields */ }
Expand description
AbortableScope
transforms futures into abortable futures.
The wrapped futures can then be aborted via the AbortHandle
.
When AbortHandle::abort
is called, the wrapped future will
complete immediately without making further progress.
Implementations§
Source§impl AbortableScope
impl AbortableScope
Sourcepub fn new() -> (AbortableScope, AbortHandle)
pub fn new() -> (AbortableScope, AbortHandle)
Creates a scope and a handle to abort futures running in the scope.
Sourcepub async fn run<T, Fut>(&self, future: Fut) -> Result<T, AbortError>
pub async fn run<T, Fut>(&self, future: Fut) -> Result<T, AbortError>
Runs a future in this scope.
Returns an abort error if AbortHandle::abort
is called.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AbortableScope
impl !RefUnwindSafe for AbortableScope
impl Send for AbortableScope
impl Sync for AbortableScope
impl Unpin for AbortableScope
impl !UnwindSafe for AbortableScope
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, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
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