[][src]Enum cannyls::deadline::Deadline

pub enum Deadline {
    Immediate,
    Within(Duration),
    Infinity,
}

各種操作のデッドラインを表現するためのオブジェクト.

注意

ここでの"デッドライン"とは、厳密な上限ではなく、 「可能であれば、この時間までに実行してほしい」というヒントに過ぎないことは注意が必要。

そのため、ハードリミットというよりは、操作間の優先順位を示すためのもの、という意味合いが強い (e.g., リソースに余裕がない場合には、デッドラインが近いものから優先的に処理される)。

なお、デッドラインが等しい場合には、先にデバイスに到着したリクエストの方が優先される.

Variants

Immediate

可能な限り早急に処理して欲しいリクエストに指定するデッドライン.

Within(Duration::from_secs(0))よりも優先度は高い.

Within(Duration)

指定された時間以内での実行を期待するリクエストに指定するデッドライン.

このデッドライン指定は、デバイスにリクエストが届いたタイミングで、 絶対時刻(i.e., SystemTime::now() + 指定尺)に変換され、 その値を元にリクエストのスケジューリングが行われる.

そのため「14:10に発行されたWithin(Duration::from_secs(5))のリクエスト」と 「14:00に発行されたWithin(Duration::from_secs(10)のリクエスト」では、 後者の方が優先度が高く、より早く実行されることとなる.

Infinity

実行がいくら遅延されても問題がないようなリクエストに指定するデッドライン(デフォルト値).

ImmediateないしWithin(_)が指定されたリクエストが一つでもある間は、そちらが優先される.

Trait Implementations

impl Clone for Deadline[src]

impl Copy for Deadline[src]

impl Debug for Deadline[src]

impl Default for Deadline[src]

impl Eq for Deadline[src]

impl Hash for Deadline[src]

impl Ord for Deadline[src]

impl PartialEq<Deadline> for Deadline[src]

impl PartialOrd<Deadline> for Deadline[src]

impl StructuralEq for Deadline[src]

impl StructuralPartialEq for Deadline[src]

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> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[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.