whatsapp_rust/socket/
error.rs

1use thiserror::Error;
2use tokio_websockets::Error as WsError;
3
4#[derive(Debug, Error)]
5pub enum SocketError {
6    #[error("Frame is too large (max: {max}, got: {got})")]
7    FrameTooLarge { max: usize, got: usize },
8    #[error("Socket is closed")]
9    SocketClosed,
10    #[error("Socket is already open")]
11    SocketAlreadyOpen,
12    #[error("Noise handshake failed: {0}")]
13    NoiseHandshake(String),
14    #[error("WebSocket error: {0}")]
15    WebSocket(#[from] WsError),
16    #[error("I/O error: {0}")]
17    Io(#[from] std::io::Error),
18    #[error("Crypto error: {0}")]
19    Crypto(String),
20}
21
22pub type Result<T> = std::result::Result<T, SocketError>;