Struct SimpleRunner

Source
pub struct SimpleRunner<F: Future> { /* private fields */ }
Expand description

The not-actually-async async runner.

Wraps a future and provides a method to run it on the current thread.

Implementations§

Source§

impl<F: Future> SimpleRunner<F>

Source

pub fn is_awake(&self) -> bool

Has a waker been activated for this future?

For example, this will be true if the future was waiting on a channel to have an element for it to receive and the channel now has one.

You can run an unawakened future, but it will likely just result in it awaiting without making any progress.

Source

pub fn poll(self: Pin<&mut Self>) -> Poll<F::Output>

Resumes the future, running it on the current thread until it awaits or returns.

Returns whether the future has completed or not.

Trait Implementations§

Source§

impl<'pin, F: Future> Unpin for SimpleRunner<F>
where __SimpleRunner<'pin, F>: Unpin,

Source§

impl<F: Future> UnsafeUnpin for SimpleRunner<F>

Auto Trait Implementations§

§

impl<F> Freeze for SimpleRunner<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for SimpleRunner<F>
where F: RefUnwindSafe,

§

impl<F> Send for SimpleRunner<F>
where F: Send,

§

impl<F> Sync for SimpleRunner<F>
where F: Sync,

§

impl<F> UnwindSafe for SimpleRunner<F>
where F: UnwindSafe,

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.