pub struct MemoryStore { /* private fields */ }Expand description
A virtual DB client where data are persisted in memory.
Implementations§
Source§impl MemoryStore
impl MemoryStore
Sourcepub fn new_for_testing() -> Self
pub fn new_for_testing() -> Self
Creates a MemoryStore that doesn’t belong to any registered namespace.
Trait Implementations§
Source§impl Clone for MemoryStore
impl Clone for MemoryStore
Source§fn clone(&self) -> MemoryStore
fn clone(&self) -> MemoryStore
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 MemoryStore
impl ReadableKeyValueStore for MemoryStore
Source§const MAX_KEY_SIZE: usize = usize::MAX
const MAX_KEY_SIZE: usize = usize::MAX
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 read_value_bytes(
&self,
key: &[u8],
) -> Result<Option<Vec<u8>>, MemoryStoreError>
async fn read_value_bytes( &self, key: &[u8], ) -> Result<Option<Vec<u8>>, MemoryStoreError>
Retrieves a
Vec<u8> from the database using the provided key.Source§async fn contains_key(&self, key: &[u8]) -> Result<bool, MemoryStoreError>
async fn contains_key(&self, key: &[u8]) -> Result<bool, MemoryStoreError>
Tests whether a key exists in the database
Source§async fn contains_keys(
&self,
keys: &[Vec<u8>],
) -> Result<Vec<bool>, MemoryStoreError>
async fn contains_keys( &self, keys: &[Vec<u8>], ) -> Result<Vec<bool>, MemoryStoreError>
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>>>, MemoryStoreError>
async fn read_multi_values_bytes( &self, keys: &[Vec<u8>], ) -> Result<Vec<Option<Vec<u8>>>, MemoryStoreError>
Retrieves multiple
Vec<u8> from the database using the provided keys.Source§async fn find_keys_by_prefix(
&self,
key_prefix: &[u8],
) -> Result<Vec<Vec<u8>>, MemoryStoreError>
async fn find_keys_by_prefix( &self, key_prefix: &[u8], ) -> Result<Vec<Vec<u8>>, MemoryStoreError>
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>)>, MemoryStoreError>
async fn find_key_values_by_prefix( &self, key_prefix: &[u8], ) -> Result<Vec<(Vec<u8>, Vec<u8>)>, MemoryStoreError>
Finds the
(key,value) pairs matching the prefix. The prefix is not included in the returned keys.Source§impl WithError for MemoryStore
impl WithError for MemoryStore
Source§type Error = MemoryStoreError
type Error = MemoryStoreError
The error type.
Source§impl WritableKeyValueStore for MemoryStore
impl WritableKeyValueStore for MemoryStore
Source§const MAX_VALUE_SIZE: usize = usize::MAX
const MAX_VALUE_SIZE: usize = usize::MAX
The maximal size of values that can be stored.
Source§async fn write_batch(&self, batch: Batch) -> Result<(), MemoryStoreError>
async fn write_batch(&self, batch: Batch) -> Result<(), MemoryStoreError>
Writes the
batch in the database.Source§async fn clear_journal(&self) -> Result<(), MemoryStoreError>
async fn clear_journal(&self) -> Result<(), MemoryStoreError>
Clears any journal entry that may remain.
The journal is located at the
root_key.Auto Trait Implementations§
impl Freeze for MemoryStore
impl RefUnwindSafe for MemoryStore
impl Send for MemoryStore
impl Sync for MemoryStore
impl Unpin for MemoryStore
impl UnsafeUnpin for MemoryStore
impl UnwindSafe for MemoryStore
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 moreCreates a shared type from an unshared type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§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.