use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IpcWorkUnit {
    pub work_unit_id: String,
    pub job_id: String,
    pub data: Vec<u8>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IpcResult {
    pub work_unit_id: String,
    pub job_id: String,
    pub data: Vec<u8>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum IpcControl {
    Shutdown,
    HealthCheck,
    HealthCheckResponse { ok: bool },
    ConfigureCores { cores: u32 },
}
