pub struct VibeQueue<T> { /* private fields */ }Expand description
A bounded, thread-safe queue for holding tasks.
VibeQueue is used within each VibeNode to buffer incoming tasks. It sends
NodeOverloaded and NodeIdle signals to the system when its size crosses
defined percentage thresholds (watermarks).
Implementations§
Source§impl<T> VibeQueue<T>
impl<T> VibeQueue<T>
Source§impl VibeQueue<Task>
impl VibeQueue<Task>
Sourcepub fn with_watermarks_and_signal(
node_id: NodeId,
capacity: usize,
low_watermark_percentage: f32,
high_watermark_percentage: f32,
signal_tx: Sender<SystemSignal>,
) -> Self
pub fn with_watermarks_and_signal( node_id: NodeId, capacity: usize, low_watermark_percentage: f32, high_watermark_percentage: f32, signal_tx: Sender<SystemSignal>, ) -> Self
Creates a new VibeQueue with custom watermarks for signaling.
§Panics
Panics if capacity is 0 or if watermark percentages are invalid.
Sourcepub fn new_with_signal(
node_id: NodeId,
capacity: usize,
signal_tx: Sender<SystemSignal>,
) -> Self
pub fn new_with_signal( node_id: NodeId, capacity: usize, signal_tx: Sender<SystemSignal>, ) -> Self
Creates a new VibeQueue with default watermarks (25% and 75%).
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for VibeQueue<T>
impl<T> RefUnwindSafe for VibeQueue<T>
impl<T> Send for VibeQueue<T>
impl<T> Sync for VibeQueue<T>
impl<T> Unpin for VibeQueue<T>
impl<T> UnsafeUnpin for VibeQueue<T>
impl<T> UnwindSafe for VibeQueue<T>
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