pub trait Map<K: AsRef<[u8]> + Eq + Hash, V: Send + Sync>: Send + Sync {
// Required methods
fn get<Q: ?Sized + AsRef<[u8]> + Equivalent<K>>(
&self,
key: &Q
) -> Result<Option<V>, KGDataError>;
fn contains_key<Q: ?Sized + AsRef<[u8]> + Equivalent<K>>(
&self,
key: &Q
) -> Result<bool, KGDataError>;
fn slice_get<Q: AsRef<[u8]> + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<Option<V>>, KGDataError>;
fn slice_get_exist<Q: AsRef<[u8]> + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<V>, KGDataError>;
fn slice_get_exist_as_map<Q>(
&self,
keys: &[Q]
) -> Result<HashMap<K, V>, KGDataError>
where Q: AsRef<[u8]> + Into<K> + Equivalent<K> + Clone;
fn iter_get<I: IntoIterator<Item = Q>, Q>(
&self,
keys: I
) -> Result<Vec<Option<V>>, KGDataError>
where Q: AsRef<[u8]> + Equivalent<K>;
fn iter_get_exist<I: IntoIterator<Item = Q>, Q>(
&self,
keys: I
) -> Result<Vec<V>, KGDataError>
where Q: AsRef<[u8]> + Equivalent<K>;
fn iter_get_exist_as_map<I: IntoIterator<Item = Q>, Q>(
&self,
keys: I
) -> Result<HashMap<K, V>, KGDataError>
where Q: AsRef<[u8]> + Equivalent<K> + Into<K> + Clone;
fn par_slice_get<Q: AsRef<[u8]> + Sync + Send + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<Option<V>>, KGDataError>;
fn par_slice_get_exist<Q: AsRef<[u8]> + Sync + Send + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<V>, KGDataError>;
fn par_slice_get_exist_as_map<Q>(
&self,
keys: &[Q]
) -> Result<HashMap<K, V>, KGDataError>
where K: Sync + Send,
Q: AsRef<[u8]> + Into<K> + Sync + Send + Equivalent<K> + Clone;
}
Expand description
An union interface for our RocksDB (local and remote)
Required Methods§
sourcefn get<Q: ?Sized + AsRef<[u8]> + Equivalent<K>>(
&self,
key: &Q
) -> Result<Option<V>, KGDataError>
fn get<Q: ?Sized + AsRef<[u8]> + Equivalent<K>>( &self, key: &Q ) -> Result<Option<V>, KGDataError>
Get a key
sourcefn contains_key<Q: ?Sized + AsRef<[u8]> + Equivalent<K>>(
&self,
key: &Q
) -> Result<bool, KGDataError>
fn contains_key<Q: ?Sized + AsRef<[u8]> + Equivalent<K>>( &self, key: &Q ) -> Result<bool, KGDataError>
Check if a key exists
sourcefn slice_get<Q: AsRef<[u8]> + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<Option<V>>, KGDataError>
fn slice_get<Q: AsRef<[u8]> + Equivalent<K>>( &self, keys: &[Q] ) -> Result<Vec<Option<V>>, KGDataError>
Get multiple keys
sourcefn slice_get_exist<Q: AsRef<[u8]> + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<V>, KGDataError>
fn slice_get_exist<Q: AsRef<[u8]> + Equivalent<K>>( &self, keys: &[Q] ) -> Result<Vec<V>, KGDataError>
Get existing keys – error if any key does not exist
sourcefn slice_get_exist_as_map<Q>(
&self,
keys: &[Q]
) -> Result<HashMap<K, V>, KGDataError>
fn slice_get_exist_as_map<Q>( &self, keys: &[Q] ) -> Result<HashMap<K, V>, KGDataError>
Get existing keys as a map – error if any key does not exist
fn iter_get<I: IntoIterator<Item = Q>, Q>( &self, keys: I ) -> Result<Vec<Option<V>>, KGDataError>
fn iter_get_exist<I: IntoIterator<Item = Q>, Q>( &self, keys: I ) -> Result<Vec<V>, KGDataError>
fn iter_get_exist_as_map<I: IntoIterator<Item = Q>, Q>( &self, keys: I ) -> Result<HashMap<K, V>, KGDataError>
sourcefn par_slice_get<Q: AsRef<[u8]> + Sync + Send + Equivalent<K>>(
&self,
keys: &[Q]
) -> Result<Vec<Option<V>>, KGDataError>
fn par_slice_get<Q: AsRef<[u8]> + Sync + Send + Equivalent<K>>( &self, keys: &[Q] ) -> Result<Vec<Option<V>>, KGDataError>
Get multiple keys in parallel
fn par_slice_get_exist<Q: AsRef<[u8]> + Sync + Send + Equivalent<K>>( &self, keys: &[Q] ) -> Result<Vec<V>, KGDataError>
fn par_slice_get_exist_as_map<Q>( &self, keys: &[Q] ) -> Result<HashMap<K, V>, KGDataError>
Object Safety§
This trait is not object safe.