pub struct DeviceRequest<'a> { /* fields omitted */ }
デバイスに対してリクエストを発行するためのビルダ.
リクエストを発行した結果返されるFuture
を効率的にポーリングするためには
fibers
を使用する必要がある。
Lumpを格納する.
新規追加の場合にはtrue
が、上書きの場合はfalse
が、結果として返される.
引数に渡されるLumpData
が、LumpData::new
関数経由で生成されている場合には、
デバイスが管理しているストレージへの書き込み時に、
データをストレージのブロック境界にアライメントするためのメモリコピーが余分に発生してしまう.
それを避けたい場合には、DeviceHandle::allocate_lump_data
メソッドを使用してLumpData
を生成すると良い.
Lumpを削除する.
指定されたlumpが存在した場合にはtrue
が、しなかった場合にはfalse
が、結果として返される.
Lumpを範囲オブジェクトを用いて削除する.
返り値のvectorは、引数rangeに含まれるlump idのうち、
対応するlump dataが存在して実際に削除されたもの全体を表す。
保存されているlump一覧を取得する.
例えば巨大なHDDを使用している場合には、lumpの数が数百万以上になることもあるため、
このメソッドは呼び出す際には注意が必要.
要求のデッドラインを設定する.
デフォルト値はDeadline::Infinity
.
デバイスのキューの最大長を指定する.
もし要求発行時に、デバイスのキューの長さがこの値を超えている場合には、
ErrorKind::DeviceBusy
エラーが返される.
デフォルトは無制限.
デバイスが起動処理中の場合には、その完了を待つように指示する.
デフォルトでは、起動処理中にリクエストが発行された場合には、
即座にErrorKind::DeviceBusy
エラーが返される.
wait_for_running()
が呼び出された場合には、
リクエストはキューに追加され、デバイス起動後に順次処理される.
Formats the value using the given formatter. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static