Struct AbortController

Source
pub struct AbortController { /* private fields */ }
Expand description

AbortController is a controller that allows you to monitor for a stream reset and cancel an associated asynchronous task if the reset occurs.

Implementations§

Source§

impl AbortController

Source

pub fn poll_reset(&mut self, cx: &mut Context<'_>) -> Poll<()>

Polls to be notified when the client resets this rpc. If the stream has not been reset. This returns Poll::Pending

Source

pub async fn reset(&mut self)

Awaits the stream reset event.

Source

pub async fn abort_on_reset(self, task: impl Future)

Executes a given asynchronous task and aborts it when stream is reset.

§Example
controller.abort_on_reset(async {  }).await;
Source

pub fn spawn_and_abort_on_reset<F>(self, task: F) -> JoinHandle<()>
where F: Future + Send + 'static,

Spawns a new task that will be aborted if the stream is reset.

This function spawns the given task in background, and automatically cancels the task if the stream reset event occurs.

§Example
controller.spawn_and_abort_on_reset(async { ... });

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V