Trait SystemKeyValueEntryApi

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

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

Required Methods§

Source

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

Reads the value of a key value entry

Source

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

Set the value of a key value entry

Source

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

Remove the value of a key value entry

Source

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

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

Source

fn key_value_entry_close(&mut self, handle: u32) -> 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>(&mut self, handle: u32) -> Result<Option<S>, E>
where S: ScryptoDecode,

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

Source

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

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§