pub trait ReadAccess<Kind>: Clone + Into<DbRead<Kind>>where
    Kind: DbKindT,{
    // Required methods
    fn async_reader<'life0, 'async_trait, E, R, F>(
        &'life0 self,
        f: F
    ) -> Pin<Box<dyn Future<Output = Result<R, E>> + Send + 'async_trait, Global>>
       where 'life0: 'async_trait,
             E: From<DatabaseError> + Send + 'static + 'async_trait,
             F: FnOnce(Transaction<'_>) -> Result<R, E> + Send + 'static + 'async_trait,
             R: Send + 'static + 'async_trait,
             Self: 'async_trait;
    fn sync_reader<E, R, F>(&self, f: F) -> Result<R, E>
       where E: From<DatabaseError>,
             F: FnOnce(Transaction<'_>) -> Result<R, E>;
    fn kind(&self) -> &Kind;
}
Expand description

A trait for being generic over DbWrite and DbRead that both implement read access.

Required Methods§

source

fn async_reader<'life0, 'async_trait, E, R, F>( &'life0 self, f: F ) -> Pin<Box<dyn Future<Output = Result<R, E>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, E: From<DatabaseError> + Send + 'static + 'async_trait, F: FnOnce(Transaction<'_>) -> Result<R, E> + Send + 'static + 'async_trait, R: Send + 'static + 'async_trait, Self: 'async_trait,

Run an async read transaction on a background thread.

source

fn sync_reader<E, R, F>(&self, f: F) -> Result<R, E>where E: From<DatabaseError>, F: FnOnce(Transaction<'_>) -> Result<R, E>,

Run an sync read transaction on a the current thread.

source

fn kind(&self) -> &Kind

Access the kind of database.

Implementors§

source§

impl<Kind> ReadAccess<Kind> for DbRead<Kind>where Kind: DbKindT,

source§

impl<Kind> ReadAccess<Kind> for DbWrite<Kind>where Kind: DbKindT,