pub struct Sender<T> { /* private fields */ }
Expand description
A means of transmitting a single value to another task.
This is created by the channel
function.
Implementations§
Source§impl<T> Sender<T>
impl<T> Sender<T>
Sourcepub fn send(self, t: T) -> Result<(), T>
pub fn send(self, t: T) -> Result<(), T>
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
is returned with the value
provided.
Sourcepub fn poll_cancel(&mut self, cx: &mut Context<'_>) -> Result<Async<()>, Never>
pub fn poll_cancel(&mut self, cx: &mut Context<'_>) -> Result<Async<()>, Never>
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, which means any work required for sending should be canceled.
If Ok(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.
Sourcepub fn is_canceled(&self) -> bool
pub fn is_canceled(&self) -> bool
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§
Auto Trait Implementations§
impl<T> Freeze for Sender<T>
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> Unpin for Sender<T>
impl<T> !UnwindSafe for Sender<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more