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
sourceimpl<T> Receiver<T>
impl<T> Receiver<T>
sourcepub fn try_recv(&mut self) -> Result<Option<T>, Disconnected>
pub fn try_recv(&mut self) -> Result<Option<T>, Disconnected>
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
Auto Trait Implementations
impl<T> !RefUnwindSafe for Receiver<T>
impl<T> Send for Receiver<T> where
T: Send,
impl<T> Sync for Receiver<T> where
T: Send,
impl<T> Unpin for Receiver<T>
impl<T> !UnwindSafe for Receiver<T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<F> IntoFuture for F where
F: Future,
impl<F> IntoFuture for F where
F: Future,
type Output = <F as Future>::Output
type Output = <F as Future>::Output
🔬 This is a nightly-only experimental API. (
into_future
)The output that the future will produce on completion.
type IntoFuture = F
type IntoFuture = F
🔬 This is a nightly-only experimental API. (
into_future
)Which kind of future are we turning this into?
sourcefn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
🔬 This is a nightly-only experimental API. (
into_future
)Creates a future from a value. Read more