[][src]Struct cannyls::storage::StorageBuilder

pub struct StorageBuilder { /* fields omitted */ }

Storageのビルダ.

Methods

impl StorageBuilder
[src]

pub fn new() -> Self
[src]

新しいStorageBuilderインスタンスを生成する.

pub fn instance_uuid(&mut self, uuid: Uuid) -> &mut Self
[src]

ストレージインスタンスを識別するためのUUIDを設定する.

ストレージの作成時とオープン時で、指定した値の使われ方が異なる:

  • 作成時:
    • ここで指定した値が識別子として採用される
    • 本メソッドが呼ばれていない場合は、ランダムなUUIDが割り当てられる
  • オープン時:
    • ここで指定した値と、ストレージの識別子が比較され、もし異なっている場合にはオープンに失敗する
    • 本メソッドが呼ばれていない場合は、特にチェックは行われない

pub fn journal_region_ratio(&mut self, ratio: f64) -> &mut Self
[src]

利用可能な領域全体に占めるジャーナル領域の割合を設定する.

取り得る値は、0.0から1.0の間の小数である。 この範囲外の値が指定された場合には、ストレージの構築時(e.g., create()呼び出し時)にエラーが返される. デフォルト値は、0.01.

なお、これはストレージの新規作成時にのみ反映される値であり、 既存のストレージを開く場合には、作成時に指定された値が使用される.

pub fn journal_gc_queue_size(&mut self, size: usize) -> &mut Self
[src]

ジャーナル領域用のリングバッファのGCキューの長さ、を設定する.

この値は、一回のGCで対象となるレコードの数、と等しい.

デフォルト値は4096.

参考

pub fn journal_sync_interval(&mut self, interval: usize) -> &mut Self
[src]

物理デバイスへのジャーナルの同期間隔、を設定する.

この値で指定された数のレコードがジャーナルに追加される度に、 メモリ上のバッファが書き戻された上で、同期命令(e.g., fdatasync)が発行される. つまり、この間隔が長いほど書き込み時の性能は向上するが、信頼性は下がることになる.

デフォルト値は4096.

pub fn block_size(&mut self, block_size: BlockSize) -> &mut Self
[src]

ストレージのブロックサイズを指定する.

ここで指定した値は、ストレージの生成時にのみ使われる. (オープン時には、ヘッダに格納されている既存の値が使用される)

デフォルト値はBlockSize::min().

注意

ストレージのブロックサイズには、それが使用するNVMのブロック境界に揃った値を指定する必要がある. もしそうではない値が指定された場合には、ストレージの生成処理がエラーとなる.

pub fn metrics(&mut self, metrics: MetricBuilder) -> &mut Self
[src]

メトリクス用の共通設定を登録する.

デフォルト値はMetricBuilder::new().

pub fn create<N>(&self, nvm: N) -> Result<Storage<N>> where
    N: NonVolatileMemory
[src]

新規にストレージを生成する.

pub fn open<N>(&self, nvm: N) -> Result<Storage<N>> where
    N: NonVolatileMemory
[src]

既に存在するストレージをオープンする.

Trait Implementations

impl Default for StorageBuilder
[src]

impl Clone for StorageBuilder
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for StorageBuilder
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From for T
[src]

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

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

type Owned = T

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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