pub struct PendingMessageQueue { /* private fields */ }Expand description
A pending message queue with a configurable drain mode. Used for steering (mid-stream) and follow-up (post-agent) message delivery.
Implementations§
Source§impl PendingMessageQueue
impl PendingMessageQueue
pub fn new(mode: QueueMode) -> Self
Sourcepub fn enqueue(&mut self, msg: AgentMessage)
pub fn enqueue(&mut self, msg: AgentMessage)
Add a message to the back of the queue.
Sourcepub fn drain(&mut self) -> Vec<AgentMessage>
pub fn drain(&mut self) -> Vec<AgentMessage>
Drain messages according to the current mode.
Sourcepub fn drain_all(&mut self) -> Vec<AgentMessage>
pub fn drain_all(&mut self) -> Vec<AgentMessage>
Drain all messages regardless of mode. Used for dequeue operations that need to restore all messages.
pub fn is_empty(&self) -> bool
pub fn len(&self) -> usize
pub fn clear(&mut self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PendingMessageQueue
impl RefUnwindSafe for PendingMessageQueue
impl Send for PendingMessageQueue
impl Sync for PendingMessageQueue
impl Unpin for PendingMessageQueue
impl UnsafeUnpin for PendingMessageQueue
impl UnwindSafe for PendingMessageQueue
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