[−][src]Struct drone_core::sync::spsc::ring::Sender
The sending-half of ring::channel
.
Implementations
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_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 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_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
Auto Trait Implementations
impl<T, E> Send for Sender<T, E> where
E: Send,
T: Send,
E: Send,
T: Send,
impl<T, E> Sync for Sender<T, E> where
E: Send,
T: Send,
E: Send,
T: Send,
impl<T, E> Unpin for Sender<T, E>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,