pub trait RuntimeEventJournalPort: Send + Sync {
// Required methods
fn append_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
events: &'life1 [RuntimeEvent],
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RuntimeEvent>, DomainError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn append_command_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_command_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn remove_command_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_command_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn load_command_ids<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DomainError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
}Required Methods§
Sourcefn append_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
events: &'life1 [RuntimeEvent],
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn append_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
events: &'life1 [RuntimeEvent],
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Append a batch of runtime events to a durable journal.
Sourcefn load_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RuntimeEvent>, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RuntimeEvent>, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Load the complete journal stream (append order).
Provided Methods§
Sourcefn append_command_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_command_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn append_command_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_command_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Append a “command seen” marker to durable dedup journal.
Default implementation is a no-op for adapters without durable dedup support.
Sourcefn remove_command_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_command_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_command_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_command_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Append a “command forgotten” marker to durable dedup journal.
Used to rollback provisional reservations when command execution fails.
Sourcefn load_command_ids<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_command_ids<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Load all accepted command IDs from durable dedup journal.
Default implementation returns no IDs for adapters without durable dedup support.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".