[][src]Struct drone_core::sync::spsc::ring::Sender

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

The sending-half of ring::channel.

Methods

impl<T, E> Sender<T, E>[src]

pub fn send(&mut self, value: T) -> Result<(), SendError<T>>[src]

Puts value to the ring buffer. The value can be immediately read by the receiving half.

If the value is successfully enqueued for the remote end to receive, then Ok(()) is returned. However if the receiving end was dropped before this function was called or there is the ring buffer overflow, then Err is returned with the value provided.

pub fn send_overwrite(&mut self, value: T) -> Result<(), T>[src]

Puts value to the ring buffer. The value can be immediately read by the receiving half. This method overwrites old items on overflow.

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 send_err(self, err: E) -> Result<(), E>[src]

Completes this channel with an Err result.

This function will consume self and indicate to the other end, the Receiver, that the channel is closed.

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 poll_cancel(self: Pin<&mut Self>, cx: &mut Context) -> Poll<()>[src]

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

Return values

If Ok(Ready) is returned then the associated Receiver has been dropped.

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

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

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

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

Trait Implementations

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

Auto Trait Implementations

impl<T, E> Unpin for Sender<T, E>

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

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

Blanket Implementations

impl<T> From<T> for 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> Into<U> for T where
    U: From<T>, 
[src]

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]