Trait KvsEngine

Source
pub trait KvsEngine {
    type Error: Error;

    // Required methods
    fn create_store(
        &self,
        store_name: &str,
        key_path: Option<KeyPath>,
        auto_increment: bool,
    ) -> Result<CreateObjectResult, Self::Error>;
    fn delete_store(&self, store_name: &str) -> Result<(), Self::Error>;
    fn close_store(&self, store_name: &str) -> Result<(), Self::Error>;
    fn delete_database(self) -> Result<(), Self::Error>;
    fn process_transaction(
        &self,
        transaction: KvsTransaction,
    ) -> Receiver<Option<Vec<u8>>>;
    fn has_key_generator(&self, store_name: &str) -> bool;
    fn key_path(&self, store_name: &str) -> Option<KeyPath>;
    fn create_index(
        &self,
        store_name: &str,
        index_name: String,
        key_path: KeyPath,
        unique: bool,
        multi_entry: bool,
    ) -> Result<CreateObjectResult, Self::Error>;
    fn delete_index(
        &self,
        store_name: &str,
        index_name: String,
    ) -> Result<(), Self::Error>;
    fn version(&self) -> Result<u64, Self::Error>;
    fn set_version(&self, version: u64) -> Result<(), Self::Error>;
}

Required Associated Types§

Required Methods§

Source

fn create_store( &self, store_name: &str, key_path: Option<KeyPath>, auto_increment: bool, ) -> Result<CreateObjectResult, Self::Error>

Source

fn delete_store(&self, store_name: &str) -> Result<(), Self::Error>

Source

fn close_store(&self, store_name: &str) -> Result<(), Self::Error>

Source

fn delete_database(self) -> Result<(), Self::Error>

Source

fn process_transaction( &self, transaction: KvsTransaction, ) -> Receiver<Option<Vec<u8>>>

Source

fn has_key_generator(&self, store_name: &str) -> bool

Source

fn key_path(&self, store_name: &str) -> Option<KeyPath>

Source

fn create_index( &self, store_name: &str, index_name: String, key_path: KeyPath, unique: bool, multi_entry: bool, ) -> Result<CreateObjectResult, Self::Error>

Source

fn delete_index( &self, store_name: &str, index_name: String, ) -> Result<(), Self::Error>

Source

fn version(&self) -> Result<u64, Self::Error>

Source

fn set_version(&self, version: u64) -> Result<(), Self::Error>

Implementors§