pub struct InMemoryObservabilityStore { /* private fields */ }Expand description
An in-memory ObservabilityStore reference implementation for tests.
Enforces the SAME optimistic-concurrency contract the haematite backend does:
an append with a stale expected_seq returns StoreError::SequenceConflict
and writes nothing, so the server’s retry loop can be exercised without a real
database. A std::sync::Mutex serializes the read-compare-write so two racing
appends on one stream cannot both win — the same single-shard-actor guarantee
the haematite backend gives.
Trait Implementations§
Source§impl Debug for InMemoryObservabilityStore
impl Debug for InMemoryObservabilityStore
Source§impl Default for InMemoryObservabilityStore
impl Default for InMemoryObservabilityStore
Source§fn default() -> InMemoryObservabilityStore
fn default() -> InMemoryObservabilityStore
Returns the “default value” for a type. Read more
Source§impl ObservabilityStore for InMemoryObservabilityStore
impl ObservabilityStore for InMemoryObservabilityStore
Source§fn append_activity_event<'life0, 'life1, 'async_trait>(
&'life0 self,
expected_seq: u64,
event: &'life1 ActivityEvent,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn append_activity_event<'life0, 'life1, 'async_trait>(
&'life0 self,
expected_seq: u64,
event: &'life1 ActivityEvent,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Append
event to its (workflow, activity, attempt) stream at
expected_seq (the current head the caller believes it holds). Read moreSource§fn activity_head<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 ActivityStreamKey,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn activity_head<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 ActivityStreamKey,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn read_activity_events_from<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 ActivityStreamKey,
from_seq: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<ActivityRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_activity_events_from<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 ActivityStreamKey,
from_seq: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<ActivityRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn list_activity_streams<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_id: &'life1 WorkflowId,
) -> Pin<Box<dyn Future<Output = Result<Vec<ActivityStreamSummary>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_activity_streams<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_id: &'life1 WorkflowId,
) -> Pin<Box<dyn Future<Output = Result<Vec<ActivityStreamSummary>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Enumerate every retained transcript stream of
workflow_id, ordered by
(activity_id, attempt) ascending. A workflow with no retained
transcript reads empty (old runs simply have none). Read moreAuto Trait Implementations§
impl !Freeze for InMemoryObservabilityStore
impl RefUnwindSafe for InMemoryObservabilityStore
impl Send for InMemoryObservabilityStore
impl Sync for InMemoryObservabilityStore
impl Unpin for InMemoryObservabilityStore
impl UnsafeUnpin for InMemoryObservabilityStore
impl UnwindSafe for InMemoryObservabilityStore
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