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

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

The sending-half of pulse::channel.

Implementations

impl<E> Sender<E>[src]

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

Sends the pulses number of pulses to the receiving half.

Returns an error if the receiver was dropped or there is the counter overflow.

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_canceled(&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 pulses 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_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.

Trait Implementations

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

Auto Trait Implementations

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

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

impl<E> Unpin for Sender<E>

Blanket Implementations

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

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

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

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

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

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

type Output = T

Should always be Self

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.