pub trait StoreBuilder<C, S>: Send + Syncwhere
    C: RaftTypeConfig,
    S: RaftStorage<C>,{
    // Required method
    fn run_test<'life0, 'async_trait, Fun, Ret, Res>(
        &'life0 self,
        t: Fun
    ) -> Pin<Box<dyn Future<Output = Result<Ret, StorageError<C::NodeId>>> + Send + 'async_trait>>
       where Res: Future<Output = Result<Ret, StorageError<C::NodeId>>> + Send + 'async_trait,
             Fun: Fn(S) -> Res + Sync + Send + 'async_trait,
             Ret: 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

The trait to build a RaftStorage implementation.

Required Methods§

source

fn run_test<'life0, 'async_trait, Fun, Ret, Res>( &'life0 self, t: Fun ) -> Pin<Box<dyn Future<Output = Result<Ret, StorageError<C::NodeId>>> + Send + 'async_trait>>where Res: Future<Output = Result<Ret, StorageError<C::NodeId>>> + Send + 'async_trait, Fun: Fn(S) -> Res + Sync + Send + 'async_trait, Ret: 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Implementors§

source§

impl<C, BaseStore, BaseBuilder> StoreBuilder<C, StoreExt<C, BaseStore>> for DefensiveStoreBuilder<C, BaseStore, BaseBuilder>where C: RaftTypeConfig, C::D: AppData + Debug, C::R: AppDataResponse + Debug, BaseStore: RaftStorage<C>, BaseBuilder: StoreBuilder<C, BaseStore>,