pub struct RocksDbDatabaseInternal { /* private fields */ }
Expand description
Database-level connection to RocksDB for managing namespaces and partitions.
Trait Implementations§
Source§impl Clone for RocksDbDatabaseInternal
impl Clone for RocksDbDatabaseInternal
Source§fn clone(&self) -> RocksDbDatabaseInternal
fn clone(&self) -> RocksDbDatabaseInternal
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 KeyValueDatabase for RocksDbDatabaseInternal
impl KeyValueDatabase for RocksDbDatabaseInternal
Source§type Config = RocksDbStoreInternalConfig
type Config = RocksDbStoreInternalConfig
The configuration needed to interact with a new backend.
Source§type Store = RocksDbStoreInternal
type Store = RocksDbStoreInternal
The result of opening a partition.
Source§async fn connect(
config: &Self::Config,
namespace: &str,
) -> Result<Self, RocksDbStoreInternalError>
async fn connect( config: &Self::Config, namespace: &str, ) -> Result<Self, RocksDbStoreInternalError>
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, RocksDbStoreInternalError>
fn open_exclusive( &self, root_key: &[u8], ) -> Result<Self::Store, RocksDbStoreInternalError>
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>, RocksDbStoreInternalError>
async fn list_all( config: &Self::Config, ) -> Result<Vec<String>, RocksDbStoreInternalError>
Obtains the list of existing namespaces.
Source§async fn list_root_keys(
config: &Self::Config,
namespace: &str,
) -> Result<Vec<Vec<u8>>, RocksDbStoreInternalError>
async fn list_root_keys( config: &Self::Config, namespace: &str, ) -> Result<Vec<Vec<u8>>, RocksDbStoreInternalError>
Lists the root keys of the namespace.
It is possible that some root keys have no keys.
Source§async fn delete_all(
config: &Self::Config,
) -> Result<(), RocksDbStoreInternalError>
async fn delete_all( config: &Self::Config, ) -> Result<(), RocksDbStoreInternalError>
Deletes all the existing namespaces.
Source§async fn exists(
config: &Self::Config,
namespace: &str,
) -> Result<bool, RocksDbStoreInternalError>
async fn exists( config: &Self::Config, namespace: &str, ) -> Result<bool, RocksDbStoreInternalError>
Tests if a given namespace exists.
Source§async fn create(
config: &Self::Config,
namespace: &str,
) -> Result<(), RocksDbStoreInternalError>
async fn create( config: &Self::Config, namespace: &str, ) -> Result<(), RocksDbStoreInternalError>
Creates a namespace. Returns an error if the namespace exists.
Source§async fn delete(
config: &Self::Config,
namespace: &str,
) -> Result<(), RocksDbStoreInternalError>
async fn delete( config: &Self::Config, namespace: &str, ) -> Result<(), RocksDbStoreInternalError>
Deletes the given namespace.
Source§impl TestKeyValueDatabase for RocksDbDatabaseInternal
impl TestKeyValueDatabase for RocksDbDatabaseInternal
Source§async fn new_test_config() -> Result<RocksDbStoreInternalConfig, RocksDbStoreInternalError>
async fn new_test_config() -> Result<RocksDbStoreInternalConfig, RocksDbStoreInternalError>
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 RocksDbDatabaseInternal
impl WithError for RocksDbDatabaseInternal
Source§type Error = RocksDbStoreInternalError
type Error = RocksDbStoreInternalError
The error type.
Auto Trait Implementations§
impl Freeze for RocksDbDatabaseInternal
impl RefUnwindSafe for RocksDbDatabaseInternal
impl Send for RocksDbDatabaseInternal
impl Sync for RocksDbDatabaseInternal
impl Unpin for RocksDbDatabaseInternal
impl UnwindSafe for RocksDbDatabaseInternal
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