pub type ThreadPriority = ThreadPriority;

Aliased Type§

enum ThreadPriority {
    Min,
    Crossplatform(ThreadPriorityValue),
    Os(ThreadPriorityOsValue),
    Deadline {
        runtime: Duration,
        deadline: Duration,
        period: Duration,
        flags: DeadlineFlags,
    },
    Max,
}

Variants§

§

Min

Holds a value representing the minimum possible priority.

§

Crossplatform(ThreadPriorityValue)

Holds a platform-independent priority value. Usually used when setting a value, for sometimes it is not possible to map the operating system’s priority to this value.

§

Os(ThreadPriorityOsValue)

Holds an operating system specific value. If it is not possible to obtain the [ThreadPriority::Crossplatform] variant of the value, this is returned instead.

§

Deadline

Fields

§runtime: Duration

Set this to something larger than the average computation time or to the worst-case computation time for hard real-time tasks.

§deadline: Duration

Set this to the relative deadline.

§period: Duration

Set this to the period of the task.

§flags: DeadlineFlags

Deadline flags.

Holds scheduling parameters for Deadline scheduling. These are, in order, the nanoseconds for runtime, deadline, and period. Please note that the kernel enforces runtime <= deadline <= period.

arrival/wakeup absolute deadline | start time | | | | v v v —–x––––xooooooooooooooooo––––x––––x— |<– Runtime —––>| |<———– Deadline ———–>| |<––––––– Period —————––>|

§

Max

Holds a value representing the maximum possible priority. Should be used with caution, it solely depends on the target os where the program is going to be running on, how it will behave. On some systems, the whole system may become frozen if not used properly.