synapse_pingora/horizon/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum HorizonError {
8 #[error("Configuration error: {0}")]
10 ConfigError(String),
11
12 #[error("Connection failed: {0}")]
14 ConnectionFailed(String),
15
16 #[error("Authentication failed: {0}")]
18 AuthFailed(String),
19
20 #[error("Send failed: {0}")]
22 SendFailed(String),
23
24 #[error("WebSocket error: {0}")]
26 WebSocket(String),
27
28 #[error("Serialization error: {0}")]
30 Serialization(String),
31
32 #[error("Deserialization error: {0}")]
34 Deserialization(String),
35
36 #[error("Timeout: {0}")]
38 Timeout(String),
39
40 #[error("Not connected")]
42 NotConnected,
43
44 #[error("Already connected")]
46 AlreadyConnected,
47}
48
49impl From<serde_json::Error> for HorizonError {
50 fn from(e: serde_json::Error) -> Self {
51 HorizonError::Serialization(e.to_string())
52 }
53}
54
55impl From<tokio_tungstenite::tungstenite::Error> for HorizonError {
56 fn from(e: tokio_tungstenite::tungstenite::Error) -> Self {
57 HorizonError::WebSocket(e.to_string())
58 }
59}