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> UnwindSafe for ReceiverInner<T, C>
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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