pub struct InMemoryEventLog { /* private fields */ }Expand description
An in-process event log, used by tests and single-node deployments.
Deduplicates on idempotency_key, so replaying an append is a no-op.
Implementations§
Source§impl InMemoryEventLog
impl InMemoryEventLog
Sourcepub fn entries(&self) -> Vec<MemoryEventEnvelope>
pub fn entries(&self) -> Vec<MemoryEventEnvelope>
Every event appended so far, in order.
Sourcepub fn count_label(&self, label: &str) -> usize
pub fn count_label(&self, label: &str) -> usize
Count of appended events carrying a given label.
Trait Implementations§
Source§impl Debug for InMemoryEventLog
impl Debug for InMemoryEventLog
Source§impl Default for InMemoryEventLog
impl Default for InMemoryEventLog
Source§fn default() -> InMemoryEventLog
fn default() -> InMemoryEventLog
Returns the “default value” for a type. Read more
Source§impl MemoryEventLog for InMemoryEventLog
impl MemoryEventLog for InMemoryEventLog
Source§fn append<'life0, 'async_trait>(
&'life0 self,
envelope: MemoryEventEnvelope,
) -> Pin<Box<dyn Future<Output = Result<(), MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append<'life0, 'async_trait>(
&'life0 self,
envelope: MemoryEventEnvelope,
) -> Pin<Box<dyn Future<Output = Result<(), MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Append an envelope, returning once it is durable.
Source§fn replay_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryEventEnvelope>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn replay_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryEventEnvelope>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read back every event for a logical session, in append order.
Auto Trait Implementations§
impl !Freeze for InMemoryEventLog
impl !RefUnwindSafe for InMemoryEventLog
impl Send for InMemoryEventLog
impl Sync for InMemoryEventLog
impl Unpin for InMemoryEventLog
impl UnwindSafe for InMemoryEventLog
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
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].