pub struct RequestQueue { /* private fields */ }Expand description
Bounded dual-priority request queue.
High-priority requests are dequeued before normal-priority requests.
Total depth across both channels respects max_size from config.
Implementations§
Source§impl RequestQueue
impl RequestQueue
Sourcepub fn new(config: QueueConfig) -> Self
pub fn new(config: QueueConfig) -> Self
Create a new RequestQueue from configuration.
Sourcepub fn enqueue(&self, request: QueuedRequest) -> Result<(), QueueError>
pub fn enqueue(&self, request: QueuedRequest) -> Result<(), QueueError>
Enqueue a request. Returns QueueError::Full if at capacity.
Sourcepub async fn try_dequeue(&self) -> Option<QueuedRequest>
pub async fn try_dequeue(&self) -> Option<QueuedRequest>
Try to dequeue a request. High priority is drained first.
Sourcepub fn config(&self) -> &QueueConfig
pub fn config(&self) -> &QueueConfig
Queue configuration
Auto Trait Implementations§
impl !Freeze for RequestQueue
impl !RefUnwindSafe for RequestQueue
impl Send for RequestQueue
impl Sync for RequestQueue
impl Unpin for RequestQueue
impl UnsafeUnpin for RequestQueue
impl !UnwindSafe for RequestQueue
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