dope_runtime/executor/drive/
kind.rs1use std::mem;
2
3use dope_core::{
4 Errno,
5 driver::{life, result::poll, schedule::ready},
6};
7use poll::fault;
8
9use crate::executor::drive::{clock, regress::Regression};
10
11#[derive(Debug, Eq, PartialEq)]
13pub enum Kind<'a> {
14 Boot(&'a life::Busy),
15 Capacity(&'a ready::Capacity),
16 Poll(&'a poll::Error),
17 Completion(&'a fault::Dispatch),
18 Deadline(&'a clock::Range),
19 ClockMovedBackwards(&'a Regression),
20 TimerDisarm(&'a Errno),
21 Shutdown,
22 QuiescenceTimeout,
23 Timeout,
24}
25
26const _: () = {
27 assert!(!mem::needs_drop::<Kind<'static>>());
28 assert!(mem::size_of::<Kind<'static>>() <= mem::size_of::<usize>() * 2);
29 assert!(mem::align_of::<Kind<'static>>() <= mem::align_of::<usize>());
30};