pub struct RequestQueue { /* private fields */ }Expand description
Request queue for continuous batching.
Accumulates incoming requests and drains them in configurable batch sizes for efficient processing.
Implementations§
Source§impl RequestQueue
impl RequestQueue
Sourcepub fn new(max_size: usize) -> Self
pub fn new(max_size: usize) -> Self
Create a new request queue with the given maximum capacity.
Sourcepub fn push(&mut self, request: BatchRequest) -> Result<(), RuntimeError>
pub fn push(&mut self, request: BatchRequest) -> Result<(), RuntimeError>
Push a new request onto the queue.
Returns an error if the queue is full.
Sourcepub fn drain_batch(&mut self, batch_size: usize) -> Vec<BatchRequest>
pub fn drain_batch(&mut self, batch_size: usize) -> Vec<BatchRequest>
Drain up to batch_size requests from the front of the queue.
Returns the drained requests in FIFO order.
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
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