pub struct PriorityQueue { /* private fields */ }Expand description
Priority queue implementation
Implementations§
Source§impl PriorityQueue
impl PriorityQueue
pub fn new(config: PriorityQueueConfig) -> Self
Sourcepub fn enqueue(&self, message: PriorityMessage) -> Result<()>
pub fn enqueue(&self, message: PriorityMessage) -> Result<()>
Enqueue a message with priority
Sourcepub fn dequeue(&self) -> Option<PriorityMessage>
pub fn dequeue(&self) -> Option<PriorityMessage>
Dequeue the highest priority message
Sourcepub async fn dequeue_async(&self) -> Option<PriorityMessage>
pub async fn dequeue_async(&self) -> Option<PriorityMessage>
Dequeue with async waiting
Sourcepub async fn dequeue_timeout(
&self,
timeout: Duration,
) -> Option<PriorityMessage>
pub async fn dequeue_timeout( &self, timeout: Duration, ) -> Option<PriorityMessage>
Dequeue with timeout
Sourcepub fn peek(&self) -> Option<PriorityMessage>
pub fn peek(&self) -> Option<PriorityMessage>
Peek at the highest priority message without removing it
Sourcepub fn stats(&self) -> PriorityQueueStats
pub fn stats(&self) -> PriorityQueueStats
Get queue statistics
Sourcepub fn requeue(&self, message: PriorityMessage) -> Result<()>
pub fn requeue(&self, message: PriorityMessage) -> Result<()>
Requeue a failed message (with retry logic)
Sourcepub fn dead_letter_messages(&self) -> Vec<PriorityMessage>
pub fn dead_letter_messages(&self) -> Vec<PriorityMessage>
Get dead letter queue contents
Sourcepub fn clear_dead_letter(&self) -> usize
pub fn clear_dead_letter(&self) -> usize
Clear dead letter queue
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PriorityQueue
impl RefUnwindSafe for PriorityQueue
impl Send for PriorityQueue
impl Sync for PriorityQueue
impl Unpin for PriorityQueue
impl UnwindSafe for PriorityQueue
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