Skip to main content

ReadJournal

Trait ReadJournal 

Source
pub trait ReadJournal:
    Send
    + Sync
    + 'static {
    // Required method
    fn events_by_persistence_id<'life0, 'life1, 'async_trait>(
        &'life0 self,
        persistence_id: &'life1 str,
        from_sequence_nr: u64,
        to_sequence_nr: u64,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;

    // Provided methods
    fn current_events_by_persistence_id<'life0, 'life1, 'async_trait>(
        &'life0 self,
        persistence_id: &'life1 str,
        from: u64,
        to: u64,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn events_by_tag<'life0, 'life1, 'async_trait>(
        &'life0 self,
        _tag: &'life1 str,
        _offset: Offset,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn current_events_by_tag<'life0, 'life1, 'async_trait>(
        &'life0 self,
        tag: &'life1 str,
        offset: Offset,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn all_persistence_ids<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, JournalError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
    fn current_persistence_ids<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, JournalError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
}
Expand description

Read-journal surface. current_* variants take a snapshot at call time; the non-current variants are tail-following (live) — backends that only support snapshots return the snapshot and let callers re-poll.

Required Methods§

Source

fn events_by_persistence_id<'life0, 'life1, 'async_trait>( &'life0 self, persistence_id: &'life1 str, from_sequence_nr: u64, to_sequence_nr: u64, ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Replay events for a single persistence id, sequence-number bounded.

Provided Methods§

Source

fn current_events_by_persistence_id<'life0, 'life1, 'async_trait>( &'life0 self, persistence_id: &'life1 str, from: u64, to: u64, ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Snapshot variant of Self::events_by_persistence_id — default impl is identical (in-memory journals don’t tail).

Source

fn events_by_tag<'life0, 'life1, 'async_trait>( &'life0 self, _tag: &'life1 str, _offset: Offset, ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

All events with a given tag, returned in offset order. Default impl is empty so backends without tag indexing don’t silently mis-behave.

Source

fn current_events_by_tag<'life0, 'life1, 'async_trait>( &'life0 self, tag: &'life1 str, offset: Offset, ) -> Pin<Box<dyn Future<Output = Result<Vec<EventEnvelope>, JournalError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

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

Distinct persistence ids known to the backend. Default impl returns empty (backends without an id index opt in).

Source

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

Implementors§