use thiserror::Error;
#[derive(Debug, Error)]
pub enum ClientError {
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("transport error: {0}")]
Transport(#[from] ironsbe_transport::TransportError),
#[error("connection timeout")]
ConnectTimeout,
#[error("connection closed")]
ConnectionClosed,
#[error("maximum reconnect attempts reached")]
MaxReconnectAttempts,
#[error("channel error")]
Channel,
}