Skip to main content

ironsbe_server/
error.rs

1//! Error types for server operations.
2
3use thiserror::Error;
4
5/// Error type for server operations.
6#[derive(Debug, Error)]
7pub enum ServerError {
8    /// IO error.
9    #[error("IO error: {0}")]
10    Io(#[from] std::io::Error),
11
12    /// Transport error.
13    #[error("transport error: {0}")]
14    Transport(#[from] ironsbe_transport::TransportError),
15
16    /// Session error.
17    #[error("session error: {message}")]
18    Session {
19        /// Error message.
20        message: String,
21    },
22
23    /// Handler error.
24    #[error("handler error: {message}")]
25    Handler {
26        /// Error message.
27        message: String,
28    },
29
30    /// Channel error.
31    #[error("channel error: {message}")]
32    Channel {
33        /// Error message.
34        message: String,
35    },
36
37    /// Server shutdown.
38    #[error("server shutdown")]
39    Shutdown,
40}