pub struct ForwardingEventStore { /* private fields */ }Expand description
EventStore implementation the runtime hands out when the events split
runs in daemon mode. Appends are fire-and-forget through the client’s
bounded queue; the ADR-133 idempotent lane and all reads are synchronous
round-trips to the events daemon.
Implementations§
Trait Implementations§
Source§impl Debug for ForwardingEventStore
impl Debug for ForwardingEventStore
Source§impl EventStore for ForwardingEventStore
impl EventStore for ForwardingEventStore
Source§fn append_event<'life0, 'async_trait>(
&'life0 self,
event: Event,
) -> Pin<Box<dyn Future<Output = StorageResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append_event<'life0, 'async_trait>(
&'life0 self,
event: Event,
) -> Pin<Box<dyn Future<Output = StorageResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Append a single event to the log.
Source§fn append_events<'life0, 'async_trait>(
&'life0 self,
events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = StorageResult<BatchWriteSummary>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append_events<'life0, 'async_trait>(
&'life0 self,
events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = StorageResult<BatchWriteSummary>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Append a batch of events to the log.
Source§fn get_event<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = StorageResult<Option<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_event<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = StorageResult<Option<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch an event by UUID, returning
None if absent.Source§fn query_events<'life0, 'async_trait>(
&'life0 self,
filter: EventFilter,
page: PageRequest,
) -> Pin<Box<dyn Future<Output = StorageResult<Page<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_events<'life0, 'async_trait>(
&'life0 self,
filter: EventFilter,
page: PageRequest,
) -> Pin<Box<dyn Future<Output = StorageResult<Page<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Query events matching a filter with pagination.
Source§fn count_events<'life0, 'async_trait>(
&'life0 self,
filter: EventFilter,
) -> Pin<Box<dyn Future<Output = StorageResult<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_events<'life0, 'async_trait>(
&'life0 self,
filter: EventFilter,
) -> Pin<Box<dyn Future<Output = StorageResult<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Count events matching a filter.
Source§fn preflight_event(&self, event: &Event) -> StorageResult<()>
fn preflight_event(&self, event: &Event) -> StorageResult<()>
Validate
event against the exact insert/observation shape the
backend would build at append time, performing no I/O. Rejects a
malformed row before it is ever enqueued for a write, so one bad
producer input cannot poison a batch shared with other callers. Read moreSource§fn append_events_idempotent<'life0, 'async_trait>(
&'life0 self,
events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = StorageResult<IdempotentEventBatchResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append_events_idempotent<'life0, 'async_trait>(
&'life0 self,
events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = StorageResult<IdempotentEventBatchResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Append a batch of events with idempotent retry semantics: a row
carrying an id that already exists is compared against every
persisted column and its ordered observation projection rather than
treated as a write conflict. Exact equality reports
EventAppendDisposition::AlreadyPresentIdentical instead of
re-inserting; any mismatch reports
EventAppendDisposition::IdentityConflict for that row alone,
while unrelated rows in the same batch still commit. Read moreSource§fn supports_idempotent_audit_batch(&self) -> bool
fn supports_idempotent_audit_batch(&self) -> bool
Whether this backend implements
preflight_event and
append_events_idempotent for real, rather than inheriting their
Unsupported-returning defaults above. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ForwardingEventStore
impl !UnwindSafe for ForwardingEventStore
impl Freeze for ForwardingEventStore
impl Send for ForwardingEventStore
impl Sync for ForwardingEventStore
impl Unpin for ForwardingEventStore
impl UnsafeUnpin for ForwardingEventStore
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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