[][src]Struct tokio::sync::oneshot::Sender

pub struct Sender<T> { /* fields omitted */ }

Sends a value to the associated Receiver.

Instances are created by the channel function.

Methods

impl<T> Sender<T>[src]

pub fn send(self, t: T) -> Result<(), T>[src]

Completes this oneshot with a successful result.

The function consumes self and notifies the Receiver handle that a value is ready to be received.

If the value is successfully enqueued for the remote end to receive, then Ok(()) is returned. If the receiving end was dropped before this function was called, however, then Err is returned with the value provided.

pub fn closed(&'_ mut self) -> impl Future<Output = ()>[src]

Wait for the associated Receiver handle to drop.

Return

Returns a Future which must be awaited on.

Examples

#![feature(async_await)]

use tokio::sync::oneshot;

#[tokio::main]
async fn main() {
    let (mut tx, rx) = oneshot::channel::<()>();

    tokio::spawn(async move {
        drop(rx);
    });

    tx.closed().await;
    println!("the receiver dropped");
}

pub fn is_closed(&self) -> bool[src]

Check if the associated Receiver handle has been dropped.

Unlike poll_closed, this function does not register a task for wakeup upon close.

Trait Implementations

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

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

Auto Trait Implementations

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

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

impl<T> Unpin for Sender<T>

impl<T> !RefUnwindSafe for Sender<T>

impl<T> !UnwindSafe for Sender<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]