[][src]Struct cannyls::device::DeviceRequest

pub struct DeviceRequest<'a> { /* fields omitted */ }

デバイスに対してリクエストを発行するためのビルダ.

注意

リクエストを発行した結果返されるFutureを効率的にポーリングするためには fibersを使用する必要がある。

Methods

impl<'a> DeviceRequest<'a>
[src]

pub fn put(
    &self,
    lump_id: LumpId,
    lump_data: LumpData
) -> impl Future<Item = bool, Error = Error>
[src]

Lumpを格納する.

新規追加の場合にはtrueが、上書きの場合はfalseが、結果として返される.

性能上の注意

引数に渡されるLumpDataが、LumpData::new関数経由で生成されている場合には、 デバイスが管理しているストレージへの書き込み時に、 データをストレージのブロック境界にアライメントするためのメモリコピーが余分に発生してしまう. それを避けたい場合には、DeviceHandle::allocate_lump_dataメソッドを使用してLumpDataを生成すると良い.

pub fn get(
    &self,
    lump_id: LumpId
) -> impl Future<Item = Option<LumpData>, Error = Error>
[src]

Lumpを取得する.

pub fn head(
    &self,
    lump_id: LumpId
) -> impl Future<Item = Option<LumpHeader>, Error = Error>
[src]

Lumpのヘッダを取得する.

pub fn delete(
    &self,
    lump_id: LumpId
) -> impl Future<Item = bool, Error = Error>
[src]

Lumpを削除する.

指定されたlumpが存在した場合にはtrueが、しなかった場合にはfalseが、結果として返される.

pub fn delete_range(
    &self,
    range: Range<LumpId>
) -> impl Future<Item = Vec<LumpId>, Error = Error>
[src]

Lumpを範囲オブジェクトを用いて削除する.

返り値のvectorは、引数rangeに含まれるlump idのうち、 対応するlump dataが存在して実際に削除されたもの全体を表す。

pub fn list(
    &self
) -> impl Future<Item = Vec<LumpId>, Error = Error>
[src]

保存されているlump一覧を取得する.

注意

例えば巨大なHDDを使用している場合には、lumpの数が数百万以上になることもあるため、 このメソッドは呼び出す際には注意が必要.

pub fn list_range(
    &self,
    range: Range<LumpId>
) -> impl Future<Item = Vec<LumpId>, Error = Error>
[src]

範囲を指定してlump一覧を取得する.

pub fn deadline(&mut self, deadline: Deadline) -> &mut Self
[src]

要求のデッドラインを設定する.

デフォルト値はDeadline::Infinity.

pub fn journal_sync(&mut self) -> &mut Self
[src]

ジャーナルバッファをディスクへ書き出す。

ジャーナルバッファjournal_sync_intervalに基づき 自動でディスク上に書き出されるが、 このメソッドを呼ぶことで自動書き出しを待たずに その場での書き出しを強制することができる。

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

デバイスのキューの最大長を指定する.

もし要求発行時に、デバイスのキューの長さがこの値を超えている場合には、 ErrorKind::DeviceBusyエラーが返される.

デフォルトは無制限.

pub fn wait_for_running(&mut self) -> &mut Self
[src]

デバイスが起動処理中の場合には、その完了を待つように指示する.

デフォルトでは、起動処理中にリクエストが発行された場合には、 即座にErrorKind::DeviceBusyエラーが返される.

wait_for_running()が呼び出された場合には、 リクエストはキューに追加され、デバイス起動後に順次処理される.

Trait Implementations

impl<'a> Debug for DeviceRequest<'a>
[src]

Auto Trait Implementations

impl<'a> !Send for DeviceRequest<'a>

impl<'a> !Sync for DeviceRequest<'a>

Blanket Implementations

impl<T> From for T
[src]

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

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, 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> BorrowMut for T where
    T: ?Sized
[src]

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