Struct cm_util::abortable_scope::AbortableScope
source · 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