pub struct StaticRing<const N: usize> { /* private fields */ }Expand description
A fixed-capacity ring buffer storing MessageToken values.
Implementations§
Trait Implementations§
Source§impl<const N: usize> Default for StaticRing<N>
impl<const N: usize> Default for StaticRing<N>
Source§impl<const N: usize> Edge for StaticRing<N>
impl<const N: usize> Edge for StaticRing<N>
Source§fn try_push<H: HeaderStore>(
&mut self,
token: MessageToken,
policy: &EdgePolicy,
headers: &H,
) -> EnqueueResult
fn try_push<H: HeaderStore>( &mut self, token: MessageToken, policy: &EdgePolicy, headers: &H, ) -> EnqueueResult
Attempt to push a token onto the queue using the given edge policy. Read more
Source§fn try_pop<H: HeaderStore>(
&mut self,
headers: &H,
) -> Result<MessageToken, QueueError>
fn try_pop<H: HeaderStore>( &mut self, headers: &H, ) -> Result<MessageToken, QueueError>
Attempt to pop the front token from the queue. Read more
Source§fn occupancy(&self, policy: &EdgePolicy) -> EdgeOccupancy
fn occupancy(&self, policy: &EdgePolicy) -> EdgeOccupancy
Return a snapshot of occupancy used for telemetry and admission. Read more
Source§fn try_peek(&self) -> Result<MessageToken, QueueError>
fn try_peek(&self) -> Result<MessageToken, QueueError>
Peek at the front token without removing it.
Source§fn try_peek_at(&self, index: usize) -> Result<MessageToken, QueueError>
fn try_peek_at(&self, index: usize) -> Result<MessageToken, QueueError>
Peek at the token at logical position
index from the front. Read moreSource§fn try_pop_batch<H: HeaderStore>(
&mut self,
policy: &BatchingPolicy,
headers: &H,
) -> Result<BatchView<'_, MessageToken>, QueueError>
fn try_pop_batch<H: HeaderStore>( &mut self, policy: &BatchingPolicy, headers: &H, ) -> Result<BatchView<'_, MessageToken>, QueueError>
Pop a batch of tokens according to the provided batching policy. Read more
Source§fn peek_header<'h, H: HeaderStore>(
&self,
headers: &'h H,
) -> Result<<H as HeaderStore>::HeaderGuard<'h>, QueueError>
fn peek_header<'h, H: HeaderStore>( &self, headers: &'h H, ) -> Result<<H as HeaderStore>::HeaderGuard<'h>, QueueError>
Peek the front message header via
HeaderStore (convenience). Read moreSource§fn get_admission_decision<H: HeaderStore>(
&self,
policy: &EdgePolicy,
token: MessageToken,
headers: &H,
) -> AdmissionDecision
fn get_admission_decision<H: HeaderStore>( &self, policy: &EdgePolicy, token: MessageToken, headers: &H, ) -> AdmissionDecision
Return an
AdmissionDecision for the given token according to
policy and the current occupancy snapshot. Read moreSource§fn get_admission_decision_from_message<P: Payload>(
&self,
policy: &EdgePolicy,
message: &Message<P>,
) -> AdmissionDecision
fn get_admission_decision_from_message<P: Payload>( &self, policy: &EdgePolicy, message: &Message<P>, ) -> AdmissionDecision
Return an
AdmissionDecision for the given token according to
policy and the current occupancy snapshot. Read moreAuto Trait Implementations§
impl<const N: usize> Freeze for StaticRing<N>
impl<const N: usize> RefUnwindSafe for StaticRing<N>
impl<const N: usize> Send for StaticRing<N>
impl<const N: usize> Sync for StaticRing<N>
impl<const N: usize> Unpin for StaticRing<N>
impl<const N: usize> UnsafeUnpin for StaticRing<N>
impl<const N: usize> UnwindSafe for StaticRing<N>
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