Struct Permit
pub struct Permit<'a, T> { /* private fields */ }
Permits to send one value into the channel.
Permit values are returned by Sender::reserve() and Sender::try_reserve()
and are used to guarantee channel capacity before generating a message to send.
Implementations
impl<T> Permit<'_, T>
fn send(self, value: T)Sends a value using the reserved capacity.
Capacity for the message has already been reserved. The message is sent to the receiver and the permit is consumed. The operation will succeed even if the receiver half has been closed. See
Receiver::closefor more details on performing a clean shutdown.Examples
use mpsc; # # async
Trait Implementations
impl<T> Debug for Permit<'_, T>
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result
impl<T> Drop for Permit<'_, T>
fn drop(&mut self)
Auto Trait Implementations
impl<'a, T> Freeze for Permit<'a, T>
where
&'a Tx<T, Semaphore>: Freeze,
impl<'a, T> RefUnwindSafe for Permit<'a, T>
where
&'a Tx<T, Semaphore>: RefUnwindSafe,
impl<'a, T> Send for Permit<'a, T>
where
&'a Tx<T, Semaphore>: Send,
impl<'a, T> Sync for Permit<'a, T>
where
&'a Tx<T, Semaphore>: Sync,
impl<'a, T> Unpin for Permit<'a, T>
where
&'a Tx<T, Semaphore>: Unpin,
impl<'a, T> UnsafeUnpin for Permit<'a, T>
where
&'a Tx<T, Semaphore>: UnsafeUnpin,
impl<'a, T> UnwindSafe for Permit<'a, T>
where
&'a Tx<T, Semaphore>: UnwindSafe,
Blanket Implementations
impl<T> Any for Permit<'a, T>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Permit<'a, T>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Permit<'a, T>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Permit<'a, T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into<U> for Permit<'a, T>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Permit<'a, T>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Permit<'a, T>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>