baichun-framework-cache 0.1.0

Cache module for Baichun-Rust framework
Documentation
use thiserror::Error;

/// Result type for multilevel cache operations
pub type Result<T> = std::result::Result<T, MultilevelError>;

/// Multilevel cache errors
#[derive(Debug, Error)]
pub enum MultilevelError {
    /// Local cache error
    #[error("Local cache error: {0}")]
    Local(#[from] crate::LocalError),

    /// Redis error
    #[error("Redis error: {0}")]
    Redis(#[from] crate::RedisError),

    /// Redis unavailable error
    #[error("Redis is currently unavailable due to circuit breaker")]
    RedisUnavailable,

    /// Serialization error
    #[error("Serialization error: {0}")]
    Serialization(#[from] serde_json::Error),

    /// Cache already initialized
    #[error("Multilevel cache already initialized")]
    AlreadyInitialized,
}