use crate::error::{OxCacheError, OxCacheResult};
use redis::RedisError;
pub(crate) fn map_redis_error(e: RedisError) -> OxCacheError {
if e.is_timeout() {
OxCacheError::Timeout(e.to_string())
} else if e.is_connection_dropped() || e.is_io_error() {
OxCacheError::Connection(e.to_string())
} else {
OxCacheError::Operation(e.to_string())
}
}
pub(crate) fn is_connection_error(e: &RedisError) -> bool {
e.is_timeout() || e.is_io_error() || e.is_connection_dropped()
}
#[allow(dead_code)]
pub(crate) type RedisResult<T> = OxCacheResult<T>;