LogStore

Trait LogStore 

Source
pub trait LogStore:
    Send
    + Sync
    + 'static {
    // Required methods
    fn kind(&self) -> &'static str;
    fn head<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Seq>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn floor<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Seq>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn append<'life0, 'life1, 'async_trait>(
        &'life0 self,
        batch: &'life1 [Pending],
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Envelope>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn read<'life0, 'async_trait>(
        &'life0 self,
        after: Seq,
        limit: usize,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Envelope>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn put_snapshot<'life0, 'life1, 'async_trait>(
        &'life0 self,
        snapshot: &'life1 Snapshot,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn snapshot_at_or_before<'life0, 'async_trait>(
        &'life0 self,
        seq: Seq,
    ) -> Pin<Box<dyn Future<Output = Result<Option<Snapshot>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn kind(&self) -> &'static str

Which substrate this is — reported by the CLI and the harnesses, because a number without its substrate is meaningless.

Source

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

Source

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

Source

fn append<'life0, 'life1, 'async_trait>( &'life0 self, batch: &'life1 [Pending], ) -> Pin<Box<dyn Future<Output = Result<Vec<Envelope>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Append a batch atomically at contiguous seqs. Returns the stamped envelopes.

Source

fn read<'life0, 'async_trait>( &'life0 self, after: Seq, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<Envelope>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn put_snapshot<'life0, 'life1, 'async_trait>( &'life0 self, snapshot: &'life1 Snapshot, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn snapshot_at_or_before<'life0, 'async_trait>( &'life0 self, seq: Seq, ) -> Pin<Box<dyn Future<Output = Result<Option<Snapshot>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§