[−][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]
impl<T> Receiver<T>
pub fn close(&mut self)
[src]
pub fn close(&mut self)
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]
pub fn try_recv(&mut self) -> Result<Option<T>, Canceled>
Attempts to receive a message outside of the context of a task.
Useful when a Context
is not available
such as within a Drop
impl.
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> Future for Receiver<T>
[src]
impl<T> Future for Receiver<T>
type Output = Result<T, Canceled>
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
The result of the Future
.
fn poll(
self: PinMut<Receiver<T>>,
cx: &mut Context
) -> Poll<Result<T, Canceled>>
[src]
fn poll(
self: PinMut<Receiver<T>>,
cx: &mut Context
) -> Poll<Result<T, Canceled>>
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Attempt to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more
impl<T> Unpin for Receiver<T>
[src]
impl<T> Unpin for Receiver<T>
impl<T> Drop for Receiver<T>
[src]
impl<T> Drop for Receiver<T>
impl<T> Debug for Receiver<T> where
T: Debug,
[src]
impl<T> Debug for Receiver<T> where
T: Debug,
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
ⓘImportant traits for &'a mut Ifn borrow(&self) -> &T
[src]
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
ⓘImportant traits for &'a mut Ifn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> FutureExt for T where
T: Future + ?Sized,
[src]
impl<T> FutureExt for T where
T: Future + ?Sized,
fn map<U, F>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Output) -> U,
[src]
fn map<U, F>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Output) -> U,
Map this future's output to a different type, returning a new future of the resulting type. Read more
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
F: FnOnce(Self::Output) -> Fut,
Fut: Future,
[src]
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
F: FnOnce(Self::Output) -> Fut,
Fut: Future,
Chain on a computation for when a future finished, passing the result of the future to the provided closure f
. Read more
fn join<Fut2>(self, other: Fut2) -> Join<Self, Fut2> where
Fut2: Future,
[src]
fn join<Fut2>(self, other: Fut2) -> Join<Self, Fut2> where
Fut2: Future,
Joins the result of two futures, waiting for them both to complete. Read more
fn join3<Fut2, Fut3>(
self,
future2: Fut2,
future3: Fut3
) -> Join3<Self, Fut2, Fut3> where
Fut2: Future,
Fut3: Future,
[src]
fn join3<Fut2, Fut3>(
self,
future2: Fut2,
future3: Fut3
) -> Join3<Self, Fut2, Fut3> where
Fut2: Future,
Fut3: Future,
Same as join
, but with more futures. Read more
fn join4<Fut2, Fut3, Fut4>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4
) -> Join4<Self, Fut2, Fut3, Fut4> where
Fut2: Future,
Fut3: Future + Future,
Fut4: Future,
[src]
fn join4<Fut2, Fut3, Fut4>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4
) -> Join4<Self, Fut2, Fut3, Fut4> where
Fut2: Future,
Fut3: Future + Future,
Fut4: Future,
Same as join
, but with more futures. Read more
fn join5<Fut2, Fut3, Fut4, Fut5>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4,
future5: Fut5
) -> Join5<Self, Fut2, Fut3, Fut4, Fut5> where
Fut2: Future,
Fut3: Future + Future,
Fut4: Future,
Fut5: Future,
[src]
fn join5<Fut2, Fut3, Fut4, Fut5>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4,
future5: Fut5
) -> Join5<Self, Fut2, Fut3, Fut4, Fut5> where
Fut2: Future,
Fut3: Future + Future,
Fut4: Future,
Fut5: Future,
Same as join
, but with more futures. Read more
fn into_stream(self) -> IntoStream<Self>
[src]
fn into_stream(self) -> IntoStream<Self>
Convert this future into a single element stream. Read more
fn flatten(self) -> Flatten<Self> where
Self::Output: Future,
[src]
fn flatten(self) -> Flatten<Self> where
Self::Output: Future,
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]
fn flatten_stream(self) -> FlattenStream<Self> where
Self::Output: Stream,
Flatten the execution of this future when the successful result of this future is a stream. Read more
fn fuse(self) -> Fuse<Self>
[src]
fn fuse(self) -> Fuse<Self>
Fuse a future such that poll
will never again be called once it has completed. Read more
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnOnce(&Self::Output),
[src]
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnOnce(&Self::Output),
Do something with the output of a future before passing it on. Read more
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
[src]
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
Catches unwinding panics while polling the future. Read more
Create a cloneable handle to this future where all handles will resolve to the same result. Read more
fn boxed(self) -> PinBox<Self>
[src]
fn boxed(self) -> PinBox<Self>
Wrap the future in a Box, pinning it.
fn unit_error(self) -> UnitError<Self>
[src]
fn unit_error(self) -> UnitError<Self>
Turns a Future
into a TryFuture
with Error = ()
.
fn with_spawner<Sp>(self, spawner: Sp) -> WithSpawner<Self, Sp> where
Sp: Spawn,
[src]
fn with_spawner<Sp>(self, spawner: Sp) -> WithSpawner<Self, Sp> where
Sp: Spawn,
Assigns the provided Spawn
to be used when spawning tasks from within the future. Read more
fn poll_unpin(&mut self, cx: &mut Context) -> Poll<Self::Output> where
Self: Unpin,
[src]
fn poll_unpin(&mut self, cx: &mut Context) -> Poll<Self::Output> where
Self: Unpin,
A convenience for calling Future::poll
on Unpin
future types.
impl<F, T, E> TryFuture for F where
F: Future<Output = Result<T, E>>,
[src]
impl<F, T, E> TryFuture for F where
F: Future<Output = Result<T, E>>,
type Ok = T
The type of successful values yielded by this future
type Error = E
The type of failures yielded by this future
fn try_poll(self: PinMut<F>, cx: &mut Context) -> Poll<<F as Future>::Output>
[src]
fn try_poll(self: PinMut<F>, cx: &mut Context) -> Poll<<F as Future>::Output>
Poll this TryFuture
as if it were a Future
. Read more
impl<Fut> TryFutureExt for Fut where
Fut: TryFuture,
[src]
impl<Fut> TryFutureExt for Fut where
Fut: TryFuture,
fn flatten_sink(self) -> FlattenSink<Self, Self::Ok> where
Self::Ok: Sink,
<Self::Ok as Sink>::SinkError == Self::Error,
[src]
fn flatten_sink(self) -> FlattenSink<Self, Self::Ok> where
Self::Ok: Sink,
<Self::Ok as Sink>::SinkError == Self::Error,
Flattens the execution of this future when the successful result of this future is a [Sink
]. Read more
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
F: FnOnce(Self::Ok) -> T,
[src]
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
F: FnOnce(Self::Ok) -> T,
Maps this future's success value to a different value. Read more
fn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
[src]
fn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
Maps this future's error value to a different value. Read more
fn err_into<E>(self) -> ErrInto<Self, E> where
Self::Error: Into<E>,
[src]
fn err_into<E>(self) -> ErrInto<Self, E> where
Self::Error: Into<E>,
Maps this future's Error
to a new error type using the Into
trait. Read more
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
F: FnOnce(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
[src]
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
F: FnOnce(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
Executes another future after this one resolves successfully. The success value is passed to a closure to create this subsequent future. Read more
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
F: FnOnce(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
[src]
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
F: FnOnce(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
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
fn unwrap_or_else<F>(self, f: F) -> UnwrapOrElse<Self, F> where
F: FnOnce(Self::Error) -> Self::Ok,
[src]
fn unwrap_or_else<F>(self, f: F) -> UnwrapOrElse<Self, F> where
F: FnOnce(Self::Error) -> Self::Ok,
Unwraps this future's ouput, producing a future with this future's Ok
type as its Output
type. Read more
fn into_future(self) -> IntoFuture<Self>
[src]
fn into_future(self) -> IntoFuture<Self>
Wraps a [TryFuture
] into a type that implements Future
. Read more
fn try_join<Fut2>(self, other: Fut2) -> TryJoin<Self, Fut2> where
Fut2: TryFuture<Error = Self::Error>,
[src]
fn try_join<Fut2>(self, other: Fut2) -> TryJoin<Self, Fut2> where
Fut2: TryFuture<Error = Self::Error>,
Joins the result of two futures, waiting for them both to complete or for one to produce an error. Read more
fn try_join3<Fut2, Fut3>(
self,
future2: Fut2,
future3: Fut3
) -> TryJoin3<Self, Fut2, Fut3> where
Fut2: TryFuture<Error = Self::Error>,
Fut3: TryFuture<Error = Self::Error>,
[src]
fn try_join3<Fut2, Fut3>(
self,
future2: Fut2,
future3: Fut3
) -> TryJoin3<Self, Fut2, Fut3> where
Fut2: TryFuture<Error = Self::Error>,
Fut3: TryFuture<Error = Self::Error>,
Same as try_join
, but with more futures. Read more
fn try_join4<Fut2, Fut3, Fut4>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4
) -> TryJoin4<Self, Fut2, Fut3, Fut4> where
Fut2: TryFuture<Error = Self::Error>,
Fut3: TryFuture<Error = Self::Error>,
Fut4: TryFuture<Error = Self::Error>,
[src]
fn try_join4<Fut2, Fut3, Fut4>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4
) -> TryJoin4<Self, Fut2, Fut3, Fut4> where
Fut2: TryFuture<Error = Self::Error>,
Fut3: TryFuture<Error = Self::Error>,
Fut4: TryFuture<Error = Self::Error>,
Same as try_join
, but with more futures. Read more
fn try_join5<Fut2, Fut3, Fut4, Fut5>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4,
future5: Fut5
) -> TryJoin5<Self, Fut2, Fut3, Fut4, Fut5> where
Fut2: TryFuture<Error = Self::Error>,
Fut3: TryFuture<Error = Self::Error>,
Fut4: TryFuture<Error = Self::Error>,
Fut5: TryFuture<Error = Self::Error>,
[src]
fn try_join5<Fut2, Fut3, Fut4, Fut5>(
self,
future2: Fut2,
future3: Fut3,
future4: Fut4,
future5: Fut5
) -> TryJoin5<Self, Fut2, Fut3, Fut4, Fut5> where
Fut2: TryFuture<Error = Self::Error>,
Fut3: TryFuture<Error = Self::Error>,
Fut4: TryFuture<Error = Self::Error>,
Fut5: TryFuture<Error = Self::Error>,
Same as try_join
, but with more futures. Read more