use crate::CoherenceScore;
pub const MAX_PARTITIONS: usize = 256;
pub const MAX_EDGES_PER_PARTITION: usize = 64;
pub const MAX_DEVICES_PER_PARTITION: usize = 16;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum PartitionState {
Created,
Running,
Suspended,
Destroyed,
Hibernated,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum PartitionType {
Agent,
Infrastructure,
Root,
}
#[derive(Debug, Clone, Copy)]
pub struct PartitionConfig {
pub vcpu_count: u16,
pub initial_coherence: CoherenceScore,
pub cpu_affinity: u64,
pub partition_type: PartitionType,
}
impl Default for PartitionConfig {
fn default() -> Self {
Self {
vcpu_count: 1,
initial_coherence: CoherenceScore::from_basis_points(5000),
cpu_affinity: u64::MAX,
partition_type: PartitionType::Agent,
}
}
}