pub struct ChoiceIndexer { /* private fields */ }Expand description
Assigns sequential indices to concurrent streams in first-come-first-served order.
When multiple concurrent streams need unique indices, this struct ensures
each stream gets the next available index. The first stream to request an
index for a given native key gets index 0 (or initial), the next gets 1, etc.
Thread-safe: uses atomic operations and concurrent hash map.
Implementations§
Auto Trait Implementations§
impl !Freeze for ChoiceIndexer
impl !RefUnwindSafe for ChoiceIndexer
impl Send for ChoiceIndexer
impl Sync for ChoiceIndexer
impl Unpin for ChoiceIndexer
impl UnwindSafe for ChoiceIndexer
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
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