pub struct MemoryDatabase { /* private fields */ }
Expand description
A connection to a namespace of key-values in memory.
Trait Implementations§
Source§impl Clone for MemoryDatabase
impl Clone for MemoryDatabase
Source§fn clone(&self) -> MemoryDatabase
fn clone(&self) -> MemoryDatabase
Returns a copy 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 Debug for MemoryDatabase
impl Debug for MemoryDatabase
Source§impl Drop for MemoryDatabase
impl Drop for MemoryDatabase
Source§impl KeyValueDatabase for MemoryDatabase
impl KeyValueDatabase for MemoryDatabase
Source§type Config = MemoryStoreConfig
type Config = MemoryStoreConfig
The configuration needed to interact with a new backend.
Source§type Store = MemoryStore
type Store = MemoryStore
The result of opening a partition.
Source§async fn connect(
config: &Self::Config,
namespace: &str,
) -> Result<Self, MemoryStoreError>
async fn connect( config: &Self::Config, namespace: &str, ) -> Result<Self, MemoryStoreError>
Connects to an existing namespace using the given configuration.
Opens a shared partition starting at
root_key
. It is understood that the
partition MAY be read and written simultaneously from other clients.Source§fn open_exclusive(
&self,
root_key: &[u8],
) -> Result<Self::Store, MemoryStoreError>
fn open_exclusive( &self, root_key: &[u8], ) -> Result<Self::Store, MemoryStoreError>
Opens an exclusive partition starting at
root_key
. It is assumed that the
partition WILL NOT be read and written simultaneously by other clients. Read moreSource§async fn list_all(
_config: &Self::Config,
) -> Result<Vec<String>, MemoryStoreError>
async fn list_all( _config: &Self::Config, ) -> Result<Vec<String>, MemoryStoreError>
Obtains the list of existing namespaces.
Source§async fn list_root_keys(
_config: &Self::Config,
namespace: &str,
) -> Result<Vec<Vec<u8>>, MemoryStoreError>
async fn list_root_keys( _config: &Self::Config, namespace: &str, ) -> Result<Vec<Vec<u8>>, MemoryStoreError>
Lists the root keys of the namespace.
It is possible that some root keys have no keys.
Source§async fn exists(
_config: &Self::Config,
namespace: &str,
) -> Result<bool, MemoryStoreError>
async fn exists( _config: &Self::Config, namespace: &str, ) -> Result<bool, MemoryStoreError>
Tests if a given namespace exists.
Source§async fn create(
_config: &Self::Config,
namespace: &str,
) -> Result<(), MemoryStoreError>
async fn create( _config: &Self::Config, namespace: &str, ) -> Result<(), MemoryStoreError>
Creates a namespace. Returns an error if the namespace exists.
Source§async fn delete(
_config: &Self::Config,
namespace: &str,
) -> Result<(), MemoryStoreError>
async fn delete( _config: &Self::Config, namespace: &str, ) -> Result<(), MemoryStoreError>
Deletes the given namespace.
Source§fn delete_all(
config: &Self::Config,
) -> impl Future<Output = Result<(), Self::Error>> + Send + Sync
fn delete_all( config: &Self::Config, ) -> impl Future<Output = Result<(), Self::Error>> + Send + Sync
Deletes all the existing namespaces.
Source§impl TestKeyValueDatabase for MemoryDatabase
impl TestKeyValueDatabase for MemoryDatabase
Source§async fn new_test_config() -> Result<MemoryStoreConfig, MemoryStoreError>
async fn new_test_config() -> Result<MemoryStoreConfig, MemoryStoreError>
Obtains a test config
Source§async fn connect_test_namespace() -> Result<Self, Self::Error>
async fn connect_test_namespace() -> Result<Self, Self::Error>
Creates a database for testing purposes
Source§impl WithError for MemoryDatabase
impl WithError for MemoryDatabase
Source§type Error = MemoryStoreError
type Error = MemoryStoreError
The error type.
Auto Trait Implementations§
impl Freeze for MemoryDatabase
impl RefUnwindSafe for MemoryDatabase
impl Send for MemoryDatabase
impl Sync for MemoryDatabase
impl Unpin for MemoryDatabase
impl UnwindSafe for MemoryDatabase
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T> MockResults for T
impl<T> MockResults for T
Source§type Results = T
type Results = T
The mock native type of the results for the
MockInstance
.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
.
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref