// src/common/error.rs //! Система обработки ошибок для Falcot //! //! Определяет типы ошибок и их обработку для всех компонентов системы //! с wait-free архитектурой. use thiserror::Error; /// Основной тип ошибки для Falcot #[derive(Error, Debug)] pub enum FalcotError { #[error("Configuration error: {0}")] ConfigError(String), #[error("Database error: {0}")] DatabaseError(String), #[error("Lua error: {0}")] LuaError(String), #[error("Network error: {0}")] NetworkError(String), #[error("Replication error: {0}")] ReplicationError(String), #[error("HTTP error: {0}")] HttpError(String), #[error("Serialization error: {0}")] SerializationError(String), #[error("IO error: {0}")] IoError(#[from] std::io::Error), #[error("Unknown error: {0}")] Unknown(String), } // Реализация преобразования из rlua::Error в FalcotError impl From for FalcotError { fn from(error: rlua::Error) -> Self { FalcotError::LuaError(error.to_string()) } } /// Тип результата для Falcot pub type Result = std::result::Result;