pub struct ImpulseQueue { /* private fields */ }Expand description
Thread-safe queue of Impulse events awaiting consumption.
Implementations§
Source§impl ImpulseQueue
impl ImpulseQueue
Sourcepub fn emit(
&self,
source_structure: u8,
source_node: [u8; 32],
target_structure: u8,
impulse_type: ImpulseType,
payload: Value,
hlc_timestamp: u64,
) -> u64
pub fn emit( &self, source_structure: u8, source_node: [u8; 32], target_structure: u8, impulse_type: ImpulseType, payload: Value, hlc_timestamp: u64, ) -> u64
Enqueue a new impulse and return its assigned id.
Sourcepub fn drain_ready(&self) -> Vec<Impulse>
pub fn drain_ready(&self) -> Vec<Impulse>
Drain all unacknowledged impulses, returning them sorted by
hlc_timestamp (ascending). Acknowledged impulses are discarded.
Sourcepub fn pending_count(&self) -> usize
pub fn pending_count(&self) -> usize
Count of impulses that have not yet been acknowledged.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ImpulseQueue
impl RefUnwindSafe for ImpulseQueue
impl Send for ImpulseQueue
impl Sync for ImpulseQueue
impl Unpin for ImpulseQueue
impl UnsafeUnpin for ImpulseQueue
impl UnwindSafe for ImpulseQueue
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