sp_runtime::offchain

Trait OffchainStorage

Source
pub trait OffchainStorage:
    Clone
    + Send
    + Sync {
    // Required methods
    fn set(&mut self, prefix: &[u8], key: &[u8], value: &[u8]);
    fn remove(&mut self, prefix: &[u8], key: &[u8]);
    fn get(&self, prefix: &[u8], key: &[u8]) -> Option<Vec<u8>>;
    fn compare_and_set(
        &mut self,
        prefix: &[u8],
        key: &[u8],
        old_value: Option<&[u8]>,
        new_value: &[u8],
    ) -> bool;
}
Expand description

Offchain DB persistent (non-fork-aware) storage.

Required Methods§

Source

fn set(&mut self, prefix: &[u8], key: &[u8], value: &[u8])

Persist a value in storage under given key and prefix.

Source

fn remove(&mut self, prefix: &[u8], key: &[u8])

Clear a storage entry under given key and prefix.

Source

fn get(&self, prefix: &[u8], key: &[u8]) -> Option<Vec<u8>>

Retrieve a value from storage under given key and prefix.

Source

fn compare_and_set( &mut self, prefix: &[u8], key: &[u8], old_value: Option<&[u8]>, new_value: &[u8], ) -> bool

Replace the value in storage if given old_value matches the current one.

Returns true if the value has been set and false otherwise.

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§