Trait SystemKeyValueEntryApi

Source
pub trait SystemKeyValueEntryApi<E> {
    // Required methods
    fn key_value_entry_get(
        &mut self,
        handle: KeyValueEntryHandle,
    ) -> Result<Vec<u8>, E>;
    fn key_value_entry_set(
        &mut self,
        handle: KeyValueEntryHandle,
        buffer: Vec<u8>,
    ) -> Result<(), E>;
    fn key_value_entry_remove(
        &mut self,
        handle: KeyValueEntryHandle,
    ) -> Result<Vec<u8>, E>;
    fn key_value_entry_lock(
        &mut self,
        handle: KeyValueEntryHandle,
    ) -> Result<(), E>;
    fn key_value_entry_close(
        &mut self,
        handle: KeyValueEntryHandle,
    ) -> Result<(), E>;

    // Provided methods
    fn key_value_entry_get_typed<S: ScryptoDecode>(
        &mut self,
        handle: KeyValueEntryHandle,
    ) -> Result<Option<S>, E> { ... }
    fn key_value_entry_set_typed<S: ScryptoEncode>(
        &mut self,
        handle: KeyValueEntryHandle,
        value: S,
    ) -> Result<(), E> { ... }
}

Required Methods§

Source

fn key_value_entry_get( &mut self, handle: KeyValueEntryHandle, ) -> Result<Vec<u8>, E>

Reads the value of a key value entry

Source

fn key_value_entry_set( &mut self, handle: KeyValueEntryHandle, buffer: Vec<u8>, ) -> Result<(), E>

Set the value of a key value entry

Source

fn key_value_entry_remove( &mut self, handle: KeyValueEntryHandle, ) -> Result<Vec<u8>, E>

Remove the value of a key value entry

Source

fn key_value_entry_lock(&mut self, handle: KeyValueEntryHandle) -> Result<(), E>

Lock the value of a key value entry making the value immutable

Source

fn key_value_entry_close( &mut self, handle: KeyValueEntryHandle, ) -> Result<(), E>

Close the handle into the key value entry rendering it unusable after close

Provided Methods§

Source

fn key_value_entry_get_typed<S: ScryptoDecode>( &mut self, handle: KeyValueEntryHandle, ) -> Result<Option<S>, E>

Reads the value of a key value entry and decodes it into a specific type

Source

fn key_value_entry_set_typed<S: ScryptoEncode>( &mut self, handle: KeyValueEntryHandle, value: S, ) -> Result<(), E>

Set the value of a key value entry

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.

Implementors§