Skip to main content

KvStorageTier

Trait KvStorageTier 

Source
pub trait KvStorageTier<T: Clone> {
    // Required methods
    fn get(&self, key: &str) -> StorageResult<Option<T>>;
    fn set(&self, key: &str, value: T) -> StorageResult<()>;
    fn delete(&self, key: &str) -> StorageResult<()>;
    fn list(&self, prefix: &str) -> StorageResult<Vec<String>>;

    // Provided methods
    fn put_if_absent(&self, _key: &str, _value: T) -> StorageResult<bool> { ... }
    fn supports_versioned(&self) -> bool { ... }
    fn get_versioned(&self, _key: &str) -> StorageResult<KvVersionedRead<T>> { ... }
    fn set_if_match(
        &self,
        _key: &str,
        _value: T,
        _generation: &KvGeneration,
    ) -> StorageResult<bool> { ... }
}
Expand description

Typed string-key KV tier. Versioning is a narrow optional D108 capability.

Required Methods§

Source

fn get(&self, key: &str) -> StorageResult<Option<T>>

Updates or reads get.

Source

fn set(&self, key: &str, value: T) -> StorageResult<()>

Updates or reads set.

Source

fn delete(&self, key: &str) -> StorageResult<()>

Updates or reads delete.

Source

fn list(&self, prefix: &str) -> StorageResult<Vec<String>>

Updates or reads list.

Provided Methods§

Source

fn put_if_absent(&self, _key: &str, _value: T) -> StorageResult<bool>

Updates or reads put_if_absent.

Source

fn supports_versioned(&self) -> bool

Updates or reads supports_versioned.

Source

fn get_versioned(&self, _key: &str) -> StorageResult<KvVersionedRead<T>>

Updates or reads get_versioned.

Source

fn set_if_match( &self, _key: &str, _value: T, _generation: &KvGeneration, ) -> StorageResult<bool>

Updates or reads set_if_match.

Implementors§

Source§

impl<B, C, T> KvStorageTier<T> for CodecKvStorage<B, C, T>
where B: ByteStorageBackend + Clone, C: Codec<T> + Clone, T: Clone,

Source§

impl<T: Clone> KvStorageTier<T> for MemoryKv<T>