ForStore

Trait ForStore 

Source
pub trait ForStore {
    // Required methods
    fn get_update(&self) -> Vec<u8> ;
    fn diff_state_update(&self, state: &Vec<u8>) -> Result<Vec<u8>, Error>;
    fn apply_update(
        &self,
        txn: &mut TransactionMut<'_>,
        update: &Vec<u8>,
    ) -> Result<(), UpdateError>;
    fn roots(&self, txn: &Transaction<'static>) -> HashMap<String, Out>;
    fn observe<F>(&self, f: F) -> Result<Subscription, TransactionAcqError>
       where F: Fn(&TransactionMut<'_>, &TransactionCleanupEvent) + Send + Sync + 'static;
}

Required Methods§

Source

fn get_update(&self) -> Vec<u8>

Source

fn diff_state_update(&self, state: &Vec<u8>) -> Result<Vec<u8>, Error>

Source

fn apply_update( &self, txn: &mut TransactionMut<'_>, update: &Vec<u8>, ) -> Result<(), UpdateError>

Source

fn roots(&self, txn: &Transaction<'static>) -> HashMap<String, Out>

Source

fn observe<F>(&self, f: F) -> Result<Subscription, TransactionAcqError>
where F: Fn(&TransactionMut<'_>, &TransactionCleanupEvent) + Send + Sync + 'static,

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.

Implementations on Foreign Types§

Source§

impl ForStore for Doc

Source§

fn get_update(&self) -> Vec<u8>

Source§

fn diff_state_update(&self, state: &Vec<u8>) -> Result<Vec<u8>, Error>

Source§

fn apply_update( &self, txn: &mut TransactionMut<'_>, update: &Vec<u8>, ) -> Result<(), UpdateError>

Source§

fn roots(&self, txn: &Transaction<'static>) -> HashMap<String, Out>

Source§

fn observe<F>(&self, f: F) -> Result<Subscription, TransactionAcqError>
where F: Fn(&TransactionMut<'_>, &TransactionCleanupEvent) + Send + Sync + 'static,

Implementors§