haagenti_serverless/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum ServerlessError {
8 #[error("Cold start timeout: {0}ms exceeded")]
10 ColdStartTimeout(u64),
11
12 #[error("Fragment pool error: {0}")]
14 PoolError(String),
15
16 #[error("Snapshot error: {0}")]
18 SnapshotError(String),
19
20 #[error("State serialization error: {0}")]
22 SerializationError(String),
23
24 #[error("State deserialization error: {0}")]
26 DeserializationError(String),
27
28 #[error("Provider error: {0}")]
30 ProviderError(String),
31
32 #[error("Memory limit exceeded: {used_mb}MB / {limit_mb}MB")]
34 MemoryLimitExceeded { used_mb: u64, limit_mb: u64 },
35
36 #[error("GPU not available in this environment")]
38 GpuNotAvailable,
39
40 #[error("Warmup failed: {0}")]
42 WarmupFailed(String),
43
44 #[error("IO error: {0}")]
46 IoError(#[from] std::io::Error),
47
48 #[error("Configuration error: {0}")]
50 ConfigError(String),
51}
52
53pub type Result<T> = std::result::Result<T, ServerlessError>;