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§
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>
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.