Skip to main content

NativeFuture

Struct NativeFuture 

Source
pub struct NativeFuture<T> { /* private fields */ }
Expand description

A one-shot native completion exposed as a Rust future.

The future resolves to an Error when the operation fails, which for a command means it failed or was cancelled.

Native has accepted the operation by the time the call that returns this future returns, and runs it whether or not anything awaits the result. Dropping the future doesn’t cancel the operation; native still delivers and frees its result.

Implementations§

Source§

impl<T> NativeFuture<T>

Source

pub fn is_ready(&self) -> bool

Reports whether native has delivered the one terminal result.

Source

pub fn wait(self) -> Result<T>

Blocks the calling thread until native delivers the result. An operation that completes only while this thread services it, such as a caller-driven render session’s release, needs wait_timeout or an executor instead.

Source

pub fn wait_timeout(self, timeout: Duration) -> Result<Result<T>, Self>

Blocks the calling thread for at most timeout and returns the result, or gives the future back when the timeout ends first. This serves hosts that must pump another service loop between waits rather than run an async executor.

Trait Implementations§

Source§

impl<T> Debug for NativeFuture<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Future for NativeFuture<T>

Source§

type Output = Result<T, Error>

The type of value produced on completion.
Source§

fn poll(self: Pin<&mut Self>, context: &mut Context<'_>) -> Poll<Self::Output>

Attempts to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more

Auto Trait Implementations§

§

impl<T> Freeze for NativeFuture<T>

§

impl<T> RefUnwindSafe for NativeFuture<T>

§

impl<T> Send for NativeFuture<T>
where T: Send,

§

impl<T> Sync for NativeFuture<T>
where T: Send,

§

impl<T> Unpin for NativeFuture<T>

§

impl<T> UnsafeUnpin for NativeFuture<T>

§

impl<T> UnwindSafe for NativeFuture<T>

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
§

impl<T> ErasedDestructor for T
where T: 'static,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<F> IntoFuture for F
where F: Future,

Source§

type Output = <F as Future>::Output

The output that the future will produce on completion.
Source§

type IntoFuture = F

Which kind of future are we turning this into?
Source§

fn into_future(self) -> <F as IntoFuture>::IntoFuture

Creates a future from a value. Read more
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.