use std::io;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ConnError {
#[error("malformed frame")]
MalformedFrame,
#[error("unknown flags settings {0}")]
UnknownFlags(u8),
#[error("unknown frame type {0}")]
UnknownFrameType(u8),
#[error("frame too large ({0} B)")]
FrameTooLarge(usize),
#[error("auth: {0}")]
Auth(#[from] AuthError),
#[error("io: {0}")]
Io(#[from] io::Error),
}
#[derive(Debug, Error)]
pub enum AuthError {
#[error("malformed response to challenge")]
MalformedResp,
#[error("invalid response to challenge")]
InvalidResp,
#[error("unsupported")]
Unsupported,
}