Skip to main content

InMemoryMessageStore

Struct InMemoryMessageStore 

Source
pub struct InMemoryMessageStore { /* private fields */ }
Expand description

An in-memory message store implementation.

This store keeps all messages in memory and does not persist them. Use this only for testing or when persistence is not required.

Trait Implementations§

Source§

impl Debug for InMemoryMessageStore

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for InMemoryMessageStore

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl MessageStore for InMemoryMessageStore

Source§

fn add<'life0, 'life1, 'async_trait>( &'life0 mut self, sequence_number: u64, message: &'life1 [u8], ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Adds a message to the store with the given sequence number.
Source§

fn get_slice<'life0, 'async_trait>( &'life0 self, begin: usize, end: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves messages in the given sequence number range (inclusive).
Source§

fn next_sender_seq_number(&self) -> u64

Returns the next sender sequence number (current + 1).
Source§

fn next_target_seq_number(&self) -> u64

Returns the next target sequence number (current + 1).
Source§

fn increment_sender_seq_number<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Increments the sender sequence number by 1.
Source§

fn increment_target_seq_number<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Increments the target sequence number by 1.
Source§

fn set_target_seq_number<'life0, 'async_trait>( &'life0 mut self, seq_number: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sets the target sequence number to a specific value.
Source§

fn reset<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Resets the store, clearing all messages and resetting sequence numbers.
Source§

fn creation_time(&self) -> DateTime<Utc>

Returns the creation time of the current session.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.