[][src]Struct futures::channel::oneshot::Receiver

#[must_use = "futures do nothing unless you `.await` or poll them"]
pub struct Receiver<T> { /* fields omitted */ }

A future for a value that will be provided by another asynchronous task.

This is created by the [channel] function.

Methods

impl<T> Receiver<T>[src]

pub fn close(&mut self)[src]

Gracefully close this receiver, preventing any subsequent attempts to send to it.

Any send operation which happens after this method returns is guaranteed to fail. After calling this method, you can use Receiver::poll to determine whether a message had previously been sent.

pub fn try_recv(&mut self) -> Result<Option<T>, Canceled>[src]

Attempts to receive a message outside of the context of a task.

Does not schedule a task wakeup or have any other side effects.

A return value of None must be considered immediately stale (out of date) unless close has been called first.

Returns an error if the sender was dropped.

Trait Implementations

impl<T> Debug for Receiver<T> where
    T: Debug
[src]

impl<T> Future for Receiver<T>[src]

type Output = Result<T, Canceled>

The type of value produced on completion.

impl<T> Unpin for Receiver<T>[src]

impl<T> Drop for Receiver<T>[src]

Auto Trait Implementations

impl<T> Sync for Receiver<T> where
    T: Send

impl<T> Send for Receiver<T> where
    T: Send

impl<T> !UnwindSafe for Receiver<T>

impl<T> !RefUnwindSafe for Receiver<T>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<F, T, E> TryFuture for F where
    F: Future<Output = Result<T, E>> + ?Sized
[src]

type Ok = T

The type of successful values yielded by this future

type Error = E

The type of failures yielded by this future

impl<T> FutureExt for T where
    T: Future + ?Sized
[src]

Important traits for Map<Fut, F>
fn map<U, F>(self, f: F) -> Map<Self, F> where
    F: FnOnce(Self::Output) -> U, 
[src]

Map this future's output to a different type, returning a new future of the resulting type. Read more

Important traits for Then<Fut1, Fut2, F>
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
    F: FnOnce(Self::Output) -> Fut,
    Fut: Future
[src]

Chain on a computation for when a future finished, passing the result of the future to the provided closure f. Read more

Important traits for Either<A, B>
fn left_future<B>(self) -> Either<Self, B> where
    B: Future<Output = Self::Output>, 
[src]

Wrap this future in an Either future, making it the left-hand variant of that Either. Read more

Important traits for Either<A, B>
fn right_future<A>(self) -> Either<A, Self> where
    A: Future<Output = Self::Output>, 
[src]

Wrap this future in an Either future, making it the right-hand variant of that Either. Read more

fn into_stream(self) -> IntoStream<Self>[src]

Convert this future into a single element stream. Read more

Important traits for Flatten<Fut>
fn flatten(self) -> Flatten<Self> where
    Self::Output: Future
[src]

Flatten the execution of this future when the successful result of this future is itself another future. Read more

fn flatten_stream(self) -> FlattenStream<Self> where
    Self::Output: Stream
[src]

Flatten the execution of this future when the successful result of this future is a stream. Read more

Important traits for Fuse<Fut>
fn fuse(self) -> Fuse<Self>[src]

Fuse a future such that poll will never again be called once it has completed. This method can be used to turn any Future into a FusedFuture. Read more

Important traits for Inspect<Fut, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
    F: FnOnce(&Self::Output), 
[src]

Do something with the output of a future before passing it on. Read more

Important traits for CatchUnwind<Fut>
fn catch_unwind(self) -> CatchUnwind<Self> where
    Self: UnwindSafe
[src]

Catches unwinding panics while polling the future. Read more

Important traits for Shared<Fut>
fn shared(self) -> Shared<Self> where
    Self::Output: Clone
[src]

Create a cloneable handle to this future where all handles will resolve to the same result. Read more

fn remote_handle(self) -> (Remote<Self>, RemoteHandle<Self::Output>)[src]

Turn this future into a future that yields () on completion and sends its output to another future on a separate task. Read more

Important traits for Pin<P>
fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a + Send>> where
    Self: Send + 'a, 
[src]

Wrap the future in a Box, pinning it. Read more

Important traits for Pin<P>
fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>> where
    Self: 'a, 
[src]

Wrap the future in a Box, pinning it. Read more

Important traits for UnitError<Fut>
fn unit_error(self) -> UnitError<Self>[src]

Turns a Future<Output = T> into a TryFuture<Ok = T, Error = ()>. Read more

Important traits for NeverError<Fut>
fn never_error(self) -> NeverError<Self>[src]

Turns a Future<Output = T> into a TryFuture<Ok = T, Error = Never>. Read more

fn poll_unpin(&mut self, cx: &mut Context) -> Poll<Self::Output> where
    Self: Unpin
[src]

A convenience for calling Future::poll on Unpin future types.

fn now_or_never(self) -> Option<Self::Output>[src]

Evaluates and consumes the future, returning the resulting output if the future is ready after the first call to Future::poll. Read more

impl<Fut> TryFutureExt for Fut where
    Fut: TryFuture + ?Sized
[src]

fn flatten_sink<Item>(self) -> FlattenSink<Self, Self::Ok> where
    Self::Ok: Sink<Item>,
    <Self::Ok as Sink<Item>>::Error == Self::Error
[src]

Flattens the execution of this future when the successful result of this future is a [Sink]. Read more

Important traits for MapOk<Fut, F>
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
    F: FnOnce(Self::Ok) -> T, 
[src]

Maps this future's success value to a different value. Read more

Important traits for MapErr<Fut, F>
fn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
    F: FnOnce(Self::Error) -> E, 
[src]

Maps this future's error value to a different value. Read more

Important traits for ErrInto<Fut, E>
fn err_into<E>(self) -> ErrInto<Self, E> where
    Self::Error: Into<E>, 
[src]

Maps this future's Error to a new error type using the Into trait. Read more

Important traits for AndThen<Fut1, Fut2, F>
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
    F: FnOnce(Self::Ok) -> Fut,
    Fut: TryFuture<Error = Self::Error>, 
[src]

Executes another future after this one resolves successfully. The success value is passed to a closure to create this subsequent future. Read more

Important traits for OrElse<Fut1, Fut2, F>
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
    F: FnOnce(Self::Error) -> Fut,
    Fut: TryFuture<Ok = Self::Ok>, 
[src]

Executes another future if this one resolves to an error. The error value is passed to a closure to create this subsequent future. Read more

Important traits for InspectOk<Fut, F>
fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> where
    F: FnOnce(&Self::Ok), 
[src]

Do something with the success value of a future before passing it on. Read more

Important traits for InspectErr<Fut, F>
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
    F: FnOnce(&Self::Error), 
[src]

Do something with the error value of a future before passing it on. Read more

fn try_flatten_stream(self) -> TryFlattenStream<Self> where
    Self::Ok: TryStream,
    <Self::Ok as TryStream>::Error == Self::Error
[src]

Flatten the execution of this future when the successful result of this future is a stream. Read more

Important traits for UnwrapOrElse<Fut, F>
fn unwrap_or_else<F>(self, f: F) -> UnwrapOrElse<Self, F> where
    F: FnOnce(Self::Error) -> Self::Ok
[src]

Unwraps this future's ouput, producing a future with this future's Ok type as its Output type. Read more

Important traits for Compat<R>
fn compat(self) -> Compat<Self> where
    Self: Unpin
[src]

Wraps a [TryFuture] into a future compatable with libraries using futures 0.1 future definitons. Requires the compat feature to enable. Read more

Important traits for IntoFuture<Fut>
fn into_future(self) -> IntoFuture<Self>[src]

Wraps a [TryFuture] into a type that implements Future. Read more

fn try_poll_unpin(
    &mut self,
    cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Error>> where
    Self: Unpin
[src]

A convenience method for calling [TryFuture::try_poll] on [Unpin] future types. Read more

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