use super::*;
use crate::thread::{PiWaitRegistration, PiWaitTree};
#[derive(Debug)]
pub(in crate::sched::system) struct PiScheduleUpdate {
pub(in crate::sched::system) policy: SchedulePolicy,
pub(in crate::sched::system) donor: Option<ThreadId>,
pub(in crate::sched::system) deadline_donor: Option<ThreadId>,
pub(in crate::sched::system) deadline_donor_core: Option<Weak<ThreadCore>>,
pub(in crate::sched::system) deadline_donor_server: Option<DeadlineServer>,
pub(in crate::sched::system) generation: u64,
}
#[derive(Debug)]
pub(in crate::sched::system) struct ThreadPiState {
pub(in crate::sched::system) blocked_on: Option<PiWaitRegistration>,
pub(in crate::sched::system) donors: PiWaitTree,
pub(in crate::sched::system) donor: Option<ThreadId>,
pub(in crate::sched::system) deadline_donor: Option<ThreadId>,
pub(in crate::sched::system) deadline_donor_core: Option<Weak<ThreadCore>>,
}
impl ThreadPiState {
pub(super) const fn new() -> Self {
Self {
blocked_on: None,
donors: PiWaitTree::new(),
donor: None,
deadline_donor: None,
deadline_donor_core: None,
}
}
}