Struct prodash::messages::MessageRingBuffer
source · pub struct MessageRingBuffer { /* private fields */ }
Expand description
A ring buffer for messages.
Implementations§
source§impl MessageRingBuffer
impl MessageRingBuffer
sourcepub fn with_capacity(capacity: usize) -> MessageRingBuffer
pub fn with_capacity(capacity: usize) -> MessageRingBuffer
Create a new instance the ability to hold capacity
amount of messages.
sourcepub fn push_overwrite(
&mut self,
level: MessageLevel,
origin: String,
message: impl Into<String>,
)
pub fn push_overwrite( &mut self, level: MessageLevel, origin: String, message: impl Into<String>, )
Push a message
from origin
at severity level
into the buffer, possibly overwriting the last message added.
sourcepub fn copy_all(&self, out: &mut Vec<Message>)
pub fn copy_all(&self, out: &mut Vec<Message>)
Copy all messages currently contained in the buffer to out
.
sourcepub fn copy_new(
&self,
out: &mut Vec<Message>,
previous: Option<MessageCopyState>,
) -> MessageCopyState
pub fn copy_new( &self, out: &mut Vec<Message>, previous: Option<MessageCopyState>, ) -> MessageCopyState
Copy all new messages into out
that where received since the last time this method was called provided
its previous
return value.
Trait Implementations§
source§impl Clone for MessageRingBuffer
impl Clone for MessageRingBuffer
source§fn clone(&self) -> MessageRingBuffer
fn clone(&self) -> MessageRingBuffer
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for MessageRingBuffer
impl Debug for MessageRingBuffer
source§impl PartialEq for MessageRingBuffer
impl PartialEq for MessageRingBuffer
impl Eq for MessageRingBuffer
impl StructuralPartialEq for MessageRingBuffer
Auto Trait Implementations§
impl Freeze for MessageRingBuffer
impl RefUnwindSafe for MessageRingBuffer
impl Send for MessageRingBuffer
impl Sync for MessageRingBuffer
impl Unpin for MessageRingBuffer
impl UnwindSafe for MessageRingBuffer
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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