ws_reconnect_client/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum WebSocketError {
5 #[error("Failed to connect to websocket: {0}")]
6 ConnectionFailed(String),
7
8 #[error("WebSocket not connected. Call connect() first")]
9 NotConnected,
10
11 #[error("WebSocket writer not available")]
12 WriterNotAvailable,
13
14 #[error("WebSocket reader not available")]
15 ReaderNotAvailable,
16
17 #[error("WebSocket error: {0}")]
18 Tungstenite(#[from] tokio_tungstenite::tungstenite::Error),
19
20 #[error("Failed to establish websocket connection after retries")]
21 RetriesExhausted,
22
23 #[error("Failed to serialize message: {0}")]
24 SerializationError(#[from] serde_json::Error),
25
26 #[error("Failed to send message")]
27 SendError,
28
29 #[error("Connection closed")]
30 ConnectionClosed,
31
32 #[error("Message handler error: {0}")]
33 HandlerError(String),
34}
35
36pub type Result<T> = std::result::Result<T, WebSocketError>;