Skip to main content

DbOpts

Struct DbOpts 

Source
pub struct DbOpts {
    pub prefix: String,
    pub key: Option<String>,
    pub migration: MigrationConfirmation,
}
Expand description

Database options for a SimpleX chat instance.

§The prefix field

SimpleX stores each chat instance as a set of files sharing a common path prefix. The prefix is a directory path plus a filename stem: the directory part is created if absent, and the stem is prepended to every database filename.

prefix: "data/bot" - creates ./data/bot_agent.db, ./data/bot_chat.db
prefix: "bot" - creates ./bot_agent.db, ./bot_chat.db

§Warning: overlapping prefixes

Two instances whose prefixes share the same directory and stem will silently read and write the same files. This will produce DB errors and may cause DB corruptions

Fields§

§prefix: String§key: Option<String>§migration: MigrationConfirmation

Implementations§

Source§

impl DbOpts

Source

pub fn unencrypted<P: AsRef<Path>>(db_path: P) -> Self

Open an unencrypted SimpleX database at the given path prefix.

See DbOpts for an explanation of what prefix means and the overlap warning.

Source

pub fn encrypted<P: AsRef<Path>, K: Into<String>>(prefix: P, key: K) -> Self

Open an encrypted SimpleX database at the given path prefix with the given passphrase.

See DbOpts for an explanation of what prefix means and the overlap warning.

Trait Implementations§

Source§

impl Clone for DbOpts

Source§

fn clone(&self) -> DbOpts

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DbOpts

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.