pub struct NamespacedStore { /* private fields */ }Expand description
NamespacedStore membungkus store apapun dan menambahkan prefix namespace ke setiap key.
Consumer store tidak perlu sadar tentang namespace — semua operasi key transparan.
Contoh: namespace "ws:a3f9b2c1:" + key "agent:xxx" → disimpan sebagai "ws:a3f9b2c1:agent:xxx".
Saat scan/read, namespace di-strip dari key yang dikembalikan ke consumer.
Implementations§
Trait Implementations§
Source§impl Clone for NamespacedStore
impl Clone for NamespacedStore
Source§fn clone(&self) -> NamespacedStore
fn clone(&self) -> NamespacedStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Store for NamespacedStore
impl Store for NamespacedStore
Source§fn clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Hanya menghapus key yang berawalan namespace ini — tidak menghapus seluruh database.
fn get_raw<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn set_raw<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn exists<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn scan_prefix_raw<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, Vec<u8>)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for NamespacedStore
impl !UnwindSafe for NamespacedStore
impl Freeze for NamespacedStore
impl Send for NamespacedStore
impl Sync for NamespacedStore
impl Unpin for NamespacedStore
impl UnsafeUnpin for NamespacedStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> StoreExt for T
impl<T> StoreExt for T
fn get<'life0, 'life1, 'async_trait, T>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<T>, StoreError>> + Send + 'async_trait>>where
T: 'async_trait + DeserializeOwned + Send,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn set<'life0, 'life1, 'life2, 'async_trait, T>( &'life0 self, key: &'life1 str, value: &'life2 T, ) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
fn scan_prefix<'life0, 'life1, 'async_trait, T>(
&'life0 self,
prefix: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, T)>, StoreError>> + Send + 'async_trait>>where
T: 'async_trait + DeserializeOwned + Send,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn scan_prefix_unsorted<'life0, 'life1, 'async_trait, T>(
&'life0 self,
prefix: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, T)>, StoreError>> + Send + 'async_trait>>where
T: 'async_trait + DeserializeOwned + Send,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn scan_prefix_unsorted<'life0, 'life1, 'async_trait, T>(
&'life0 self,
prefix: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, T)>, StoreError>> + Send + 'async_trait>>where
T: 'async_trait + DeserializeOwned + Send,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sama seperti
scan_prefix tapi tidak melakukan sorting.
Cocok untuk path yang tidak membutuhkan urutan key.