Struct futures::channel::oneshot::Sender[][src]

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

A means of transmitting a single value to another task.

This is created by the channel function.

Implementations

impl<T> Sender<T>[src]

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

Completes this oneshot with a successful result.

This function will consume self and indicate to the other end, the Receiver, that the value provided is the result of the computation this represents.

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(t) is returned.

pub fn poll_canceled(&mut self, cx: &mut Context<'_>) -> Poll<()>[src]

Polls this Sender half to detect whether its associated Receiver has been dropped.

Return values

If Ready(()) is returned then the associated Receiver has been dropped, which means any work required for sending should be canceled.

If Pending is returned then the associated Receiver is still alive and may be able to receive a message if sent. The current task, however, is scheduled to receive a notification if the corresponding Receiver goes away.

pub fn cancellation(&mut self) -> Cancellation<'_, T>

Notable traits for Cancellation<'_, T>

impl<'_, T> Future for Cancellation<'_, T> type Output = ();
[src]

Creates a future that resolves when this Sender’s corresponding Receiver half has hung up.

This is a utility wrapping poll_canceled to expose a Future.

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

Tests to see whether this Sender’s corresponding Receiver has been dropped.

Unlike poll_canceled, this function does not enqueue a task for wakeup upon cancellation, but merely reports the current state, which may be subject to concurrent modification.

pub fn is_connected_to(&self, receiver: &Receiver<T>) -> bool[src]

Tests to see whether this Sender is connected to the given Receiver. That is, whether they were created by the same call to channel.

Trait Implementations

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

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

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

pub fn drop(&mut self)[src]

Executes the destructor for this type. Read more

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

Auto Trait Implementations

impl<T> !RefUnwindSafe for Sender<T>

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

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

impl<T> !UnwindSafe for Sender<T>

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.