Struct forceps::CacheBuilder[][src]

pub struct CacheBuilder { /* fields omitted */ }

A builder for the Cache object. Exposes APIs for configuring the initial setup of the database.

Examples

use forceps::CacheBuilder;

let cache = CacheBuilder::new("./cache")
    .dir_depth(3)
    .read_write_buffer(1024 * 16)
    .build()
    .await
    .unwrap();

Implementations

impl CacheBuilder[src]

pub fn new<P: AsRef<Path>>(path: P) -> Self[src]

Creates a new CacheBuilder, which can be used to customize and create a Cache instance.

The path supplied is the base directory of the cache instance.

Examples

use forceps::CacheBuilder;

let builder = CacheBuilder::new("./cache");
// Use other methods for configuration

pub fn dir_depth(self, depth: u8) -> Self[src]

Sets the depth of directories created in the cache folder.

Default is 2

This will set the depth of folders created and expected when reading and writing to the database. Increasing this value could increase the time to write to the database.

Breaking Warning

Changing this value on a live database without migrations will cause the database read operations to essentially skip over the data. This means that all data will be inaccessible, despite the metadata being accessible.

pub fn read_write_buffer(self, size: usize) -> Self[src]

Changes the in-memory buffer sizes for reading and writing fs operations.

Default is 8kb (8196)

Increasing this value may benefit performance as more bulk reading is involved. However, this option completely depends on the size of the data you are reading/writing.

pub async fn build(self) -> Result<Cache>[src]

Builds the new Cache instance using the configured options of the builder.

Examples

use forceps::Cache;

let cache = Cache::new("./cache")
    .build()
    .await
    .unwrap();

Trait Implementations

impl Clone for CacheBuilder[src]

impl Debug for CacheBuilder[src]

impl Default for CacheBuilder[src]

fn default() -> Self[src]

Creates a CacheBuilder with the directory set to ./cache.

Examples

use forceps::CacheBuilder;

let cache = CacheBuilder::default()
    .build()
    .await
    .unwrap();

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

impl<T> Pointable for T

type Init = T

The type for initializers.

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<V, T> VZip<V> for T where
    V: MultiLane<T>,