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

#[must_use = "futures do nothing unless polled"]
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> Unpin for Receiver<T>[src]

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

type Output = Result<T, Canceled>

The type of value produced on completion.

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

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

Auto Trait Implementations

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

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

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<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.

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 = !>. 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.

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<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>>::SinkError == 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 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<W>
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