pub struct KeyValueStore { /* private fields */ }Expand description
A type to interface with the key value storage provided to applications.
Trait Implementations§
Source§impl Clone for KeyValueStore
impl Clone for KeyValueStore
Source§fn clone(&self) -> KeyValueStore
fn clone(&self) -> KeyValueStore
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ReadableKeyValueStore for KeyValueStore
impl ReadableKeyValueStore for KeyValueStore
Source§const MAX_KEY_SIZE: usize = 900usize
const MAX_KEY_SIZE: usize = 900usize
The maximal size of keys that can be stored.
Source§fn max_stream_queries(&self) -> usize
fn max_stream_queries(&self) -> usize
Retrieve the number of stream queries.
Source§async fn contains_key(&self, key: &[u8]) -> Result<bool, KeyValueStoreError>
async fn contains_key(&self, key: &[u8]) -> Result<bool, KeyValueStoreError>
Tests whether a key exists in the database
Source§async fn contains_keys(
&self,
keys: &[Vec<u8>],
) -> Result<Vec<bool>, KeyValueStoreError>
async fn contains_keys( &self, keys: &[Vec<u8>], ) -> Result<Vec<bool>, KeyValueStoreError>
Tests whether a list of keys exist in the database
Source§async fn read_multi_values_bytes(
&self,
keys: &[Vec<u8>],
) -> Result<Vec<Option<Vec<u8>>>, KeyValueStoreError>
async fn read_multi_values_bytes( &self, keys: &[Vec<u8>], ) -> Result<Vec<Option<Vec<u8>>>, KeyValueStoreError>
Retrieves multiple
Vec<u8> from the database using the provided keys.Source§async fn read_value_bytes(
&self,
key: &[u8],
) -> Result<Option<Vec<u8>>, KeyValueStoreError>
async fn read_value_bytes( &self, key: &[u8], ) -> Result<Option<Vec<u8>>, KeyValueStoreError>
Retrieves a
Vec<u8> from the database using the provided key.Source§async fn find_keys_by_prefix(
&self,
key_prefix: &[u8],
) -> Result<Vec<Vec<u8>>, KeyValueStoreError>
async fn find_keys_by_prefix( &self, key_prefix: &[u8], ) -> Result<Vec<Vec<u8>>, KeyValueStoreError>
Finds the
key matching the prefix. The prefix is not included in the returned keys.Source§async fn find_key_values_by_prefix(
&self,
key_prefix: &[u8],
) -> Result<Vec<(Vec<u8>, Vec<u8>)>, KeyValueStoreError>
async fn find_key_values_by_prefix( &self, key_prefix: &[u8], ) -> Result<Vec<(Vec<u8>, Vec<u8>)>, KeyValueStoreError>
Finds the
(key,value) pairs matching the prefix. The prefix is not included in the returned keys.Source§impl WritableKeyValueStore for KeyValueStore
impl WritableKeyValueStore for KeyValueStore
Source§const MAX_VALUE_SIZE: usize = 4_294_967_295usize
const MAX_VALUE_SIZE: usize = 4_294_967_295usize
The maximal size of values that can be stored.
Source§async fn write_batch(&self, batch: Batch) -> Result<(), KeyValueStoreError>
async fn write_batch(&self, batch: Batch) -> Result<(), KeyValueStoreError>
Writes the
batch in the database.Source§async fn clear_journal(&self) -> Result<(), KeyValueStoreError>
async fn clear_journal(&self) -> Result<(), KeyValueStoreError>
Clears any journal entry that may remain.
The journal is located at the
root_key.Auto Trait Implementations§
impl Freeze for KeyValueStore
impl RefUnwindSafe for KeyValueStore
impl Send for KeyValueStore
impl Sync for KeyValueStore
impl Unpin for KeyValueStore
impl UnwindSafe for KeyValueStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.