use thiserror::Error;
#[derive(Error, Debug)]
pub enum ProtocolError {
#[error("malformed packet")]
MalformedPacket,
#[error("unsupported version")]
UnsupportedVersion,
#[error("invalid intent")]
InvalidIntent,
#[error("crypto failure")]
CryptoFailure,
#[error("protocol violation")]
ProtocolViolation,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum CloseReason {
AuthFail,
ProtocolViolation,
Timeout,
PeerClosed,
}