Trait KvsEngine
Source pub trait KvsEngine: MallocSizeOf {
type Error: Error;
Show 13 methods
// 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,
on_complete: Box<dyn FnOnce() + Send + 'static>,
);
fn key_generator_current_number(&self, store_name: &str) -> Option<i32>;
fn key_path(&self, store_name: &str) -> Option<KeyPath>;
fn object_store_names(&self) -> Result<Vec<String>, Self::Error>;
fn indexes(
&self,
store_name: &str,
) -> Result<Vec<IndexedDBIndex>, Self::Error>;
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>;
}