Struct Counter
pub(in ::sync::mpmc::counter) struct Counter<C> { pub(in ::sync::mpmc::counter) senders: Atomic<usize>, pub(in ::sync::mpmc::counter) receivers: Atomic<usize>, pub(in ::sync::mpmc::counter) destroy: Atomic<bool>, pub(in ::sync::mpmc::counter) chan: C }
Reference counter internals.
Fields
senders: Atomic<usize>The number of senders associated with the channel.
receivers: Atomic<usize>The number of receivers associated with the channel.
destroy: Atomic<bool>Set to
trueif the last sender or the last receiver reference deallocates the channel.chan: CThe internal channel.
Auto Trait Implementations
impl<C> !Freeze for Counter<C>
impl<C> RefUnwindSafe for Counter<C>
where
C: RefUnwindSafe,
impl<C> Send for Counter<C>
where
C: Send,
impl<C> Sync for Counter<C>
where
C: Sync,
impl<C> Unpin for Counter<C>
where
C: Unpin,
impl<C> UnsafeUnpin for Counter<C>
where
C: UnsafeUnpin,
impl<C> UnwindSafe for Counter<C>
where
C: UnwindSafe,
Blanket Implementations
impl<T> Any for Counter<C>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Counter<C>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Counter<C>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Counter<C>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for Counter<C>
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for Counter<C>
impl<T, U> Into<U> for Counter<C>
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 Counter<C>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Counter<C>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>