struct ReceiverInner<T: Debug + Send + 'static, C: ChannelSpec> {
state: Mutex<Result<ReceiverState<T, C>, CollapsedDueToReclaim>>,
}Expand description
Payload of Receiver, that’s within the Arc, but contains the Mutex.
This is a separate type because
it’s what we need to implement IsParticipant for.
Fields§
§state: Mutex<Result<ReceiverState<T, C>, CollapsedDueToReclaim>>Mutable state
If we have collapsed due to memory reclaim, state is replaced by an Err.
In that case the caller mostly can’t send on the Sender either,
because we’ll have torn down the Participant,
so claims (beyond the cache in the Sender’s Participation) will fail.
Implementations§
Source§impl<T: Debug + Send + 'static, C: ChannelSpec> ReceiverInner<T, C>
impl<T: Debug + Send + 'static, C: ChannelSpec> ReceiverInner<T, C>
Sourcefn lock(
&self,
) -> MutexGuard<'_, Result<ReceiverState<T, C>, CollapsedDueToReclaim>>
fn lock( &self, ) -> MutexGuard<'_, Result<ReceiverState<T, C>, CollapsedDueToReclaim>>
Convenience function to take the lock
Trait Implementations§
Source§impl<T: Debug + Send + 'static, C: ChannelSpec> Debug for ReceiverInner<T, C>
impl<T: Debug + Send + 'static, C: ChannelSpec> Debug for ReceiverInner<T, C>
Source§impl<T: HasMemoryCost + Debug + Send + 'static, C: ChannelSpec> IsParticipant for ReceiverInner<T, C>
impl<T: HasMemoryCost + Debug + Send + 'static, C: ChannelSpec> IsParticipant for ReceiverInner<T, C>
Source§fn get_oldest(&self, _: EnabledToken) -> Option<CoarseInstant>
fn get_oldest(&self, _: EnabledToken) -> Option<CoarseInstant>
Return the age of the oldest data held by this Participant Read more
Source§fn reclaim(self: Arc<Self>, _: EnabledToken) -> ReclaimFuture
fn reclaim(self: Arc<Self>, _: EnabledToken) -> ReclaimFuture
Start memory reclamation Read more
Auto Trait Implementations§
impl<T, C> !Freeze for ReceiverInner<T, C>
impl<T, C> RefUnwindSafe for ReceiverInner<T, C>
impl<T, C> Send for ReceiverInner<T, C>
impl<T, C> Sync for ReceiverInner<T, C>
impl<T, C> Unpin for ReceiverInner<T, C>
impl<T, C> UnsafeUnpin for ReceiverInner<T, C>
impl<T, C> UnwindSafe for ReceiverInner<T, C>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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