1use thiserror::Error as ThisError;
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(ThisError, Debug)]
6pub enum Error {
7 #[error(transparent)]
8 IO(#[from] std::io::Error),
9
10 #[error("Try From Endpoint Error")]
11 TryFromEndpoint,
12
13 #[error("Unsupported Endpoint Error:{0}")]
14 UnsupportedEndpoint(String),
15
16 #[error("Parse Endpoint Error: {0}")]
17 ParseEndpoint(String),
18
19 #[error("Buffer Full Error: {0}")]
20 BufferFull(String),
21
22 #[cfg(feature = "ws")]
23 #[error("Ws Error: {0}")]
24 WsError(#[from] Box<async_tungstenite::tungstenite::Error>),
25
26 #[cfg(feature = "tls")]
27 #[error("Invalid DNS Name Error: {0}")]
28 InvalidDnsNameError(#[from] rustls_pki_types::InvalidDnsNameError),
29
30 #[error(transparent)]
31 KaryonCore(#[from] karyon_core::Error),
32}