Struct capsules_extra::tickv_kv_store::TicKVKVStore

source ·
pub struct TicKVKVStore<'a, K: KVSystem<'a> + KVSystem<'a, K = T>, T: 'static + KeyType> { /* private fields */ }
Expand description

TicKVKVStore implements the KV interface using the TicKV KVSystem interface.

Implementations§

source§

impl<'a, K: KVSystem<'a, K = T>, T: KeyType> TicKVKVStore<'a, K, T>

source

pub fn new(kv: &'a K, key: &'static mut T) -> TicKVKVStore<'a, K, T>

Trait Implementations§

source§

impl<'a, K: KVSystem<'a, K = T>, T: KeyType> KV<'a> for TicKVKVStore<'a, K, T>

source§

fn set_client(&self, client: &'a dyn KVClient)

Configure the client for operation callbacks.
source§

fn get( &self, key: SubSliceMut<'static, u8>, value: SubSliceMut<'static, u8> ) -> Result<(), (SubSliceMut<'static, u8>, SubSliceMut<'static, u8>, ErrorCode)>

Retrieve a value based on the given key. Read more
source§

fn set( &self, key: SubSliceMut<'static, u8>, value: SubSliceMut<'static, u8> ) -> Result<(), (SubSliceMut<'static, u8>, SubSliceMut<'static, u8>, ErrorCode)>

Store a value based on the given key. If the key does not exist it will be added. If the key already exists the value will be updated. Read more
source§

fn add( &self, key: SubSliceMut<'static, u8>, value: SubSliceMut<'static, u8> ) -> Result<(), (SubSliceMut<'static, u8>, SubSliceMut<'static, u8>, ErrorCode)>

Store a new value based on the given key. If the key does not exist it will be added. If the key already exists an error callback will be provided. Read more
source§

fn update( &self, key: SubSliceMut<'static, u8>, value: SubSliceMut<'static, u8> ) -> Result<(), (SubSliceMut<'static, u8>, SubSliceMut<'static, u8>, ErrorCode)>

Modify a value based on the given key. If the key does not exist it an error callback will be provided. Read more
source§

fn delete( &self, key: SubSliceMut<'static, u8> ) -> Result<(), (SubSliceMut<'static, u8>, ErrorCode)>

Delete a key-value object based on the given key. Read more
source§

impl<'a, K: KVSystem<'a, K = T>, T: KeyType> KVSystemClient<T> for TicKVKVStore<'a, K, T>

source§

fn generate_key_complete( &self, result: Result<(), ErrorCode>, unhashed_key: SubSliceMut<'static, u8>, hashed_key: &'static mut T )

This callback is called when the append_key operation completes. Read more
source§

fn append_key_complete( &self, result: Result<(), ErrorCode>, key: &'static mut T, value: SubSliceMut<'static, u8> )

This callback is called when the append_key operation completes. Read more
source§

fn get_value_complete( &self, result: Result<(), ErrorCode>, key: &'static mut T, ret_buf: SubSliceMut<'static, u8> )

This callback is called when the get_value operation completes. Read more
source§

fn invalidate_key_complete( &self, result: Result<(), ErrorCode>, key: &'static mut T )

This callback is called when the invalidate_key operation completes. Read more
source§

fn garbage_collect_complete(&self, _result: Result<(), ErrorCode>)

This callback is called when the garbage_collect operation completes. Read more

Auto Trait Implementations§

§

impl<'a, K, T> !Freeze for TicKVKVStore<'a, K, T>

§

impl<'a, K, T> !RefUnwindSafe for TicKVKVStore<'a, K, T>

§

impl<'a, K, T> !Send for TicKVKVStore<'a, K, T>

§

impl<'a, K, T> !Sync for TicKVKVStore<'a, K, T>

§

impl<'a, K, T> Unpin for TicKVKVStore<'a, K, T>

§

impl<'a, K, T> !UnwindSafe for TicKVKVStore<'a, K, T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> SizedTypeProperties for T

source§

#[doc(hidden)] const IS_ZST: bool = _

🔬This is a nightly-only experimental API. (sized_type_properties)
true if this type requires no storage. false if its size is greater than zero. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.