Struct AbortHandle
pub struct AbortHandle { /* private fields */ }
rt only.An owned permission to abort a spawned task, without awaiting its completion.
Unlike a JoinHandle, an AbortHandle does not represent the permission to await the task’s completion, only to terminate it.
The task may be aborted by calling the AbortHandle::abort method. Dropping an AbortHandle releases the permission to terminate the task — it does not abort the task.
Be aware that tasks spawned using spawn_blocking cannot be aborted because they are not async. If you call abort on a spawn_blocking task, then this will not have any effect, and the task will continue running normally. The exception is if the task has not started running yet; in that case, calling abort may prevent the task from starting.
Implementations
impl AbortHandle
pub fn abort(&self)
Abort the task associated with the handle.
Awaiting a cancelled task might complete as usual if the task was already completed at the time it was cancelled, but most likely it will fail with a cancelled JoinError.
If the task was already cancelled, such as by JoinHandle::abort, this method will do nothing.
Be aware that tasks spawned using spawn_blocking cannot be aborted because they are not async. If you call abort on a spawn_blocking task, then this will not have any effect, and the task will continue running normally. The exception is if the task has not started running yet; in that case, calling abort may prevent the task from starting.
See also the module level docs for more information on cancellation.
pub fn is_finished(&self) -> bool
Checks if the task associated with this AbortHandle has finished.
Please note that this method can return false even if abort has been called on the task. This is because the cancellation process may take some time, and this method does not return true until it has completed.
Trait Implementations
impl Clone for AbortHandle
fn clone(&self) -> Self
Returns a cloned AbortHandle that can be used to remotely abort this task.
fn clone_from(&mut self, source: &Self)
source. Read more
impl Debug for AbortHandle
impl Drop for AbortHandle
impl RefUnwindSafe for AbortHandle
impl Send for AbortHandle
impl Sync for AbortHandle
impl UnwindSafe for AbortHandle
Auto Trait Implementations
Blanket Implementations
impl<T> BorrowMut<T> for Twhere T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Twhere T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)
impl<T> Instrument for T
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> WithSubscriber for T
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/task/struct.AbortHandle.html