logo
pub struct Receiver<T>(_);
Expand description

The receiver side of a oneshot channel, created with catty::oneshot. This is a future resolving to item, or an error if the sender side has been dropped without sending a message. After a message is received, subsequent polls will return Err(Disconnected).

Example

let (tx, rx) = catty::oneshot();
tx.send("Hello!");
assert_eq!(rx.await, Ok("Hello!"));

Implementations

Checks to see if there is a message waiting in the channel. This will return None if there a message has not been sent, and Err(Disconnected) if a message has already been received.

Examples
let (tx, mut rx) = catty::oneshot();
tx.send("Hello!");
assert_eq!(rx.try_recv(), Ok(Some("Hello!")));

Subsequent receives return Err(Disconnected):

let (tx, mut rx) = catty::oneshot();
tx.send("Hello!");
assert_eq!(rx.try_recv(), Ok(Some("Hello!")));
assert!(rx.try_recv().is_err());
assert_eq!(rx.await, Err(Disconnected))

Trait Implementations

The type of value produced on completion.

Attempt 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

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

🔬 This is a nightly-only experimental API. (into_future)

The output that the future will produce on completion.

🔬 This is a nightly-only experimental API. (into_future)

Which kind of future are we turning this into?

🔬 This is a nightly-only experimental API. (into_future)

Creates a future from a value. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.