Trait Store

Source
pub trait Store:
    Send
    + Sync
    + 'static
    + Clone {
    type Connection<'c>: Connection
       where Self: 'c;

    const DELIMITER: &'static str = "@";

    // Required method
    fn connect<'c, 'async_trait>(
        &'c self,
    ) -> Pin<Box<dyn Future<Output = Result<Self::Connection<'c>, Error>> + Send + 'async_trait>>
       where 'c: 'async_trait,
             Self: 'async_trait;
}
Expand description

A storage-agnostic interface that provides database connections for both watermark management and arbitrary writes. The indexer framework accepts this Store implementation to manage watermarks operations through its associated Connection type. This store is also passed to the pipeline handlers to perform arbitrary writes to the store.

Provided Associated Constants§

Source

const DELIMITER: &'static str = "@"

Delimiter used to separate pipeline names from task identifiers when reading or writing the committer watermark.

Required Associated Types§

Source

type Connection<'c>: Connection where Self: 'c

Required Methods§

Source

fn connect<'c, 'async_trait>( &'c self, ) -> Pin<Box<dyn Future<Output = Result<Self::Connection<'c>, Error>> + Send + 'async_trait>>
where 'c: 'async_trait, Self: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§