pub trait Writable {
// Required methods
fn write<T, R>(&mut self, col: u32, key: &dyn Key<T, Target = R>, value: &T)
where T: Encodable,
R: Deref<Target = [u8]>;
fn delete<T, R>(&mut self, col: u32, key: &dyn Key<T, Target = R>)
where T: Encodable,
R: Deref<Target = [u8]>;
// Provided methods
fn write_with_cache<K, T, R>(
&mut self,
col: u32,
cache: &mut dyn Cache<K, T>,
key: K,
value: T,
policy: CacheUpdatePolicy,
)
where K: Key<T, Target = R> + Hash + Eq,
T: Encodable,
R: Deref<Target = [u8]> { ... }
fn extend_with_cache<K, T, R>(
&mut self,
col: u32,
cache: &mut dyn Cache<K, T>,
values: HashMap<K, T>,
policy: CacheUpdatePolicy,
)
where K: Key<T, Target = R> + Hash + Eq,
T: Encodable,
R: Deref<Target = [u8]> { ... }
fn extend_with_option_cache<K, T, R>(
&mut self,
col: u32,
cache: &mut dyn Cache<K, Option<T>>,
values: HashMap<K, Option<T>>,
policy: CacheUpdatePolicy,
)
where K: Key<T, Target = R> + Hash + Eq,
T: Encodable,
R: Deref<Target = [u8]> { ... }
}
Expand description
Should be used to write value into database.
Required Methods§
Provided Methods§
Sourcefn write_with_cache<K, T, R>(
&mut self,
col: u32,
cache: &mut dyn Cache<K, T>,
key: K,
value: T,
policy: CacheUpdatePolicy,
)
fn write_with_cache<K, T, R>( &mut self, col: u32, cache: &mut dyn Cache<K, T>, key: K, value: T, policy: CacheUpdatePolicy, )
Writes the value into the database and updates the cache.
Sourcefn extend_with_cache<K, T, R>(
&mut self,
col: u32,
cache: &mut dyn Cache<K, T>,
values: HashMap<K, T>,
policy: CacheUpdatePolicy,
)
fn extend_with_cache<K, T, R>( &mut self, col: u32, cache: &mut dyn Cache<K, T>, values: HashMap<K, T>, policy: CacheUpdatePolicy, )
Writes the values into the database and updates the cache.
Sourcefn extend_with_option_cache<K, T, R>(
&mut self,
col: u32,
cache: &mut dyn Cache<K, Option<T>>,
values: HashMap<K, Option<T>>,
policy: CacheUpdatePolicy,
)
fn extend_with_option_cache<K, T, R>( &mut self, col: u32, cache: &mut dyn Cache<K, Option<T>>, values: HashMap<K, Option<T>>, policy: CacheUpdatePolicy, )
Writes and removes the values into the database and updates the cache.
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.