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

pub struct Sender<T> { /* fields omitted */ }
This is supported on feature="sync" and feature="sync" only.

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]

This is supported on feature="sync" and feature="sync" only.

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 async fn closed<'_>(&'_ mut self)[src]

This is supported on feature="sync" and feature="sync" only.

Wait for the associated Receiver handle to drop.

Return

Returns a Future which must be awaited on.

Examples

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]

This is supported on feature="sync" and feature="sync" only.

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> Debug for Sender<T>[src]

Auto Trait Implementations

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

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

impl<T> Unpin for Sender<T>

impl<T> !UnwindSafe for Sender<T>

impl<T> !RefUnwindSafe for Sender<T>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

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> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]