Struct PollSender
struct PollSender<T> { ... }
A wrapper around mpsc::Sender that can be polled.
Implementations
impl<T: Send> PollSender<T>
fn new(sender: Sender<T>) -> SelfCreates a new
PollSender.fn poll_reserve(self: &mut Self, cx: &mut Context<'_>) -> Poll<Result<(), PollSendError<T>>>Attempts to prepare the sender to receive a value.
This method must be called and return
Poll::Ready(Ok(()))prior to each call tosend_item.This method returns
Poll::Readyonce the underlying channel is ready to receive a value, by reserving a slot in the channel for the item to be sent. If this method returnsPoll::Pending, the current task is registered to be notified (viacx.waker().wake_by_ref()) whenpoll_reserveshould be called again.Errors
If the channel is closed, an error will be returned. This is a permanent state.
fn send_item(self: &mut Self, value: T) -> Result<(), PollSendError<T>>Sends an item to the channel.
Before calling
send_item,poll_reservemust be called with a successful return value ofPoll::Ready(Ok(())).Errors
If the channel is closed, an error will be returned. This is a permanent state.
Panics
If
poll_reservewas not successfully called prior to callingsend_item, then this method will panic.fn is_closed(self: &Self) -> boolChecks whether this sender is been closed.
The underlying channel that this sender was wrapping may still be open.
fn get_ref(self: &Self) -> Option<&Sender<T>>Gets a reference to the
Senderof the underlying channel.If
PollSenderhas been closed,Noneis returned. The underlying channel that this sender was wrapping may still be open.fn close(self: &mut Self)Closes this sender.
No more messages will be able to be sent from this sender, but the underlying channel will remain open until all senders have dropped, or until the
Receivercloses the channel.If a slot was previously reserved by calling
poll_reserve, then a final call can be made tosend_itemin order to consume the reserved slot. After that, no further sends will be possible. If you do not intend to send another item, you can release the reserved slot back to the underlying sender by callingabort_send.fn abort_send(self: &mut Self) -> boolAborts the current in-progress send, if any.
Returns
trueif a send was aborted. If the sender was closed prior to callingabort_send, then the sender will remain in the closed state, otherwise the sender will be ready to attempt another send.
impl<T> Any for PollSender<T>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for PollSender<T>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for PollSender<T>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> Clone for PollSender<T>
fn clone(self: &Self) -> PollSender<T>Clones this
PollSender.The resulting
PollSenderwill have an initial state identical to callingPollSender::new.
impl<T> CloneToUninit for PollSender<T>
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> Freeze for PollSender<T>
impl<T> From for PollSender<T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> RefUnwindSafe for PollSender<T>
impl<T> Send for PollSender<T>
impl<T> Sync for PollSender<T>
impl<T> ToOwned for PollSender<T>
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T> Unpin for PollSender<T>
impl<T> UnsafeUnpin for PollSender<T>
impl<T> UnwindSafe for PollSender<T>
impl<T, U> Into for PollSender<T>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for PollSender<T>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for PollSender<T>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T: $crate::fmt::Debug> Debug for PollSender<T>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<T: Send> Sink for PollSender<T>
fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), <Self as >::Error>>fn poll_flush(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Result<(), <Self as >::Error>>fn start_send(self: Pin<&mut Self>, item: T) -> Result<(), <Self as >::Error>fn poll_close(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Result<(), <Self as >::Error>>