ringkernel_core/hybrid/
error.rs1use std::fmt;
4
5#[derive(Debug, Clone)]
7pub enum HybridError {
8 GpuNotAvailable,
10 GpuExecutionFailed(String),
12 WorkloadTooLarge {
14 requested: usize,
16 maximum: usize,
18 },
19 ConfigError(String),
21 ResourceAllocationFailed(String),
23}
24
25impl fmt::Display for HybridError {
26 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
27 match self {
28 HybridError::GpuNotAvailable => write!(f, "GPU is not available"),
29 HybridError::GpuExecutionFailed(msg) => write!(f, "GPU execution failed: {}", msg),
30 HybridError::WorkloadTooLarge { requested, maximum } => {
31 write!(f, "Workload size {} exceeds maximum {}", requested, maximum)
32 }
33 HybridError::ConfigError(msg) => write!(f, "Configuration error: {}", msg),
34 HybridError::ResourceAllocationFailed(msg) => {
35 write!(f, "Resource allocation failed: {}", msg)
36 }
37 }
38 }
39}
40
41impl std::error::Error for HybridError {}
42
43pub type HybridResult<T> = Result<T, HybridError>;