pub struct AbortHandle { /* private fields */ }Expand description
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§
Source§impl AbortHandle
impl AbortHandle
Sourcepub fn abort(&self)
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.
Trait Implementations§
Source§impl Clone for AbortHandle
impl Clone for AbortHandle
Source§fn clone(&self) -> AbortHandle
fn clone(&self) -> AbortHandle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more