pub struct RealTimeClassRq {
queues: [RtPrioQueue; 100],
bitmap: u128,
}Fields§
§queues: [RtPrioQueue; 100]§bitmap: u128Implementations§
Source§impl RealTimeClassRq
impl RealTimeClassRq
pub fn new() -> Self
fn set_bit(&mut self, prio: u8)
fn clear_bit(&mut self, prio: u8)
Sourcefn is_budget_exhausted(task: &Task, now: u64) -> bool
fn is_budget_exhausted(task: &Task, now: u64) -> bool
Check if an RT task’s budget has expired and the period has not yet
elapsed. Returns true if the task should be skipped (degraded).
Sourcefn reset_budget(task: &Task, now: u64)
fn reset_budget(task: &Task, now: u64)
Reset the RT budget for a task. Called when the period has expired or when the task is first enqueued.
Sourcefn front_is_degraded(q: &RtPrioQueue, now: u64) -> bool
fn front_is_degraded(q: &RtPrioQueue, now: u64) -> bool
Check if the front task of a priority queue is degraded.
Trait Implementations§
Source§impl SchedClassRq for RealTimeClassRq
impl SchedClassRq for RealTimeClassRq
Source§fn update_current(
&mut self,
rt: &CurrentRuntime,
task: &Task,
is_yield: bool,
) -> bool
fn update_current( &mut self, rt: &CurrentRuntime, task: &Task, is_yield: bool, ) -> bool
Updates current.
Source§fn tick_update_wait(&mut self)
fn tick_update_wait(&mut self)
Called once per timer tick. Increments wait-time counters for all
queued (non-running) tasks. Default no-op for classes that don’t
track starvation.
Auto Trait Implementations§
impl !RefUnwindSafe for RealTimeClassRq
impl !UnwindSafe for RealTimeClassRq
impl Freeze for RealTimeClassRq
impl Send for RealTimeClassRq
impl Sync for RealTimeClassRq
impl Unpin for RealTimeClassRq
impl UnsafeUnpin for RealTimeClassRq
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more