[][src]Struct sled::Config

pub struct Config(_);

Top-level configuration for the system.

Examples

let _config = sled::Config::default()
    .path("/path/to/data".to_owned())
    .cache_capacity(10_000_000_000)
    .flush_every_ms(Some(1000))
    .snapshot_after_ops(100_000);
// Read-only mode
let _config = sled::Config::default()
    .path("/path/to/data".to_owned())
    .read_only(true);

Methods

impl Config[src]

pub fn new() -> Config[src]

Returns a default Config

pub fn path<P: AsRef<Path>>(self, path: P) -> Config[src]

Set the path of the database (builder).

pub fn open(&self) -> Result<Db>[src]

Opens a Db based on the provided config.

pub fn temporary(self, to: bool) -> Self[src]

deletes the database after drop. if no path is set, uses /dev/shm on linux

pub fn read_only(self, to: bool) -> Self[src]

whether to run in read-only mode

pub fn cache_capacity(self, to: u64) -> Self[src]

maximum size for the system page cache

pub fn use_compression(self, to: bool) -> Self[src]

whether to use zstd compression

pub fn compression_factor(self, to: i32) -> Self[src]

the compression factor to use with zstd compression

pub fn flush_every_ms(self, to: Option<u64>) -> Self[src]

number of ms between IO buffer flushes

pub fn snapshot_after_ops(self, to: u64) -> Self[src]

number of operations between page table snapshots

pub fn segment_cleanup_threshold(self, to: u8) -> Self[src]

the proportion of remaining valid pages in the segment before GC defragments it

pub fn segment_cleanup_skew(self, to: usize) -> Self[src]

the cleanup threshold skew in percentage points between the first and last segments

pub fn segment_mode(self, to: SegmentMode) -> Self[src]

the file segment selection mode

pub fn snapshot_path(self, to: Option<PathBuf>) -> Self[src]

snapshot file location

pub fn print_profile_on_drop(self, to: bool) -> Self[src]

print a performance profile when the Config is dropped

pub fn idgen_persist_interval(self, to: u64) -> Self[src]

generated IDs are persisted at this interval. during recovery we skip twice this number

Trait Implementations

impl Clone for Config[src]

impl Default for Config[src]

impl Debug for Config[src]

impl Deref for Config[src]

type Target = Inner

The resulting type after dereferencing.

Auto Trait Implementations

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl !UnwindSafe for Config

impl !RefUnwindSafe for Config

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]