Skip to main content

dope_runtime/process/failure/
config.rs

1//! Process configuration failures.
2
3use std::mem;
4
5use dope_core::platform::affinity;
6
7use crate::executor::drive::clock;
8
9#[derive(Clone, Copy, Debug, PartialEq, Eq)]
10#[repr(u8)]
11/// Invalid process topology or supervision timing.
12pub enum Error {
13    Empty,
14    DuplicateCpu(affinity::Cpu),
15    ResourceCount { actual: usize, required: usize },
16    ResourceIterator { yielded: usize, required: usize },
17    HeartbeatDeadline(clock::Range),
18}
19
20const _: () = {
21    assert!(!mem::needs_drop::<Error>());
22    assert!(mem::size_of::<Error>() == mem::size_of::<clock::Range>() + mem::align_of::<Error>());
23};