pub enum ThreadPriority {
Low,
CaServerLow,
CaServerHigh,
Medium,
ScanLow,
ScanHigh,
High,
Iocsh,
Custom(u8),
}Expand description
EPICS thread priority — an integer 0..=99 with the named levels
from epicsThreadPriority* (epicsThread.h:73-83). Lower values
are lower priority; the CA server bands sit below the scan bands so
scan threads preempt CA-server threads on a loaded IOC.
Variants§
Low
epicsThreadPriorityLow = 10.
CaServerLow
epicsThreadPriorityCAServerLow = 20.
CaServerHigh
epicsThreadPriorityCAServerHigh = 40.
Medium
epicsThreadPriorityMedium = 50.
ScanLow
epicsThreadPriorityScanLow = 60.
ScanHigh
epicsThreadPriorityScanHigh = 70.
High
epicsThreadPriorityHigh = 90.
Iocsh
epicsThreadPriorityIocsh = 91.
Custom(u8)
An explicit priority value, clamped to 0..=99 on use.
Implementations§
Source§impl ThreadPriority
impl ThreadPriority
Sourcepub const fn value(self) -> u8
pub const fn value(self) -> u8
The raw EPICS priority value 0..=99, matching the
epicsThreadPriority* constants in epicsThread.h.
const so a server can derive its band from the named one C derives
it from — CaServerLow - 2 rather than a bare 18 with a comment
asserting the two are the same number. C builds exactly that ladder at
caservertask.c:562-575; restating its output as a literal is how the
ladder and its constants come to disagree.
Trait Implementations§
Source§impl Clone for ThreadPriority
impl Clone for ThreadPriority
Source§fn clone(&self) -> ThreadPriority
fn clone(&self) -> ThreadPriority
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more