pub struct ParameterUpdateQueue { /* private fields */ }Expand description
Thread-safe queue for parameter updates
ARCHITECTURE:
- API thread: Pushes updates (non-blocking, just mutex on queue)
- Burst thread: Consumes updates between bursts (when NPU is free)
PERFORMANCE:
- Queue operations: ~1-2µs (fast mutex, no contention)
- Zero impact on burst timing
- Works at any frequency (100Hz+, 1000Hz+)
Implementations§
Source§impl ParameterUpdateQueue
impl ParameterUpdateQueue
pub fn new() -> Self
Sourcepub fn push(&self, update: ParameterUpdate)
pub fn push(&self, update: ParameterUpdate)
Push a parameter update (non-blocking, called from API thread)
Sourcepub fn drain_all(&self) -> Vec<ParameterUpdate>
pub fn drain_all(&self) -> Vec<ParameterUpdate>
Drain all pending updates (called from burst thread between bursts)
Trait Implementations§
Source§impl Clone for ParameterUpdateQueue
impl Clone for ParameterUpdateQueue
Auto Trait Implementations§
impl Freeze for ParameterUpdateQueue
impl RefUnwindSafe for ParameterUpdateQueue
impl Send for ParameterUpdateQueue
impl Sync for ParameterUpdateQueue
impl Unpin for ParameterUpdateQueue
impl UnsafeUnpin for ParameterUpdateQueue
impl UnwindSafe for ParameterUpdateQueue
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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