Struct nimbus::stateful::persistence::Database

source ·
pub struct Database { /* private fields */ }
Expand description

Database used to access persisted data This an abstraction around an Rkv database An instance on this database is created each time the component is loaded if there is persisted data, the get functions should retrieve it

Implementations§

source§

impl Database

source

pub fn new<P: AsRef<Path>>(path: P) -> Result<Self>

Main constructor for a database Initiates the Rkv database to be used to retrieve persisted data

§Arguments
  • path: A path to the persisted data, this is provided by the consuming application
source

pub fn get_store(&self, store_id: StoreId) -> &SingleStore

Gets a Store object, which used with the writer returned by self.write() to update the database in a transaction.

source

pub fn open_rkv<P: AsRef<Path>>(path: P) -> Result<Rkv<SafeModeEnvironment>>

source

pub fn read(&self) -> Result<Reader<SafeModeRoTransaction<'_>>>

Function used to obtain a “reader” which is used for read-only transactions.

source

pub fn write(&self) -> Result<Writer<'_>>

Function used to obtain a “writer” which is used for transactions. The writer.commit(); must be called to commit data added via the writer.

Trait Implementations§

source§

impl TryFrom<&Database> for EventStore

§

type Error = NimbusError

The type returned in the event of a conversion error.
source§

fn try_from(db: &Database) -> Result<Self, NimbusError>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.