secra-memory 0.1.1

A unified memory cache management library for plugin systems, built on top of moka
Documentation
/// 内存缓存错误类型
use std::fmt;

/// 缓存操作错误
#[derive(Debug, Clone)]
pub enum CacheError {
    /// Key 格式错误
    InvalidKey(String),
    /// 序列化失败
    SerializationFailed(String),
    /// 反序列化失败
    DeserializationFailed(String),
    /// 权限 denied
    PermissionDenied(String),
    /// 其他错误
    Other(String),
}

impl fmt::Display for CacheError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            CacheError::InvalidKey(msg) => write!(f, "无效的 Key: {}", msg),
            CacheError::SerializationFailed(msg) => write!(f, "序列化失败: {}", msg),
            CacheError::DeserializationFailed(msg) => write!(f, "反序列化失败: {}", msg),
            CacheError::PermissionDenied(msg) => write!(f, "权限拒绝: {}", msg),
            CacheError::Other(msg) => write!(f, "其他错误: {}", msg),
        }
    }
}

impl std::error::Error for CacheError {
    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
        None
    }
}