use thiserror::Error;
pub type Result<T> = std::result::Result<T, EnigmaPacketError>;
#[derive(Debug, Error)]
pub enum EnigmaPacketError {
#[error("invalid packet: {0}")]
InvalidPacket(String),
#[error("unsupported version {0}")]
UnsupportedVersion(u8),
#[error("size limit exceeded")]
SizeLimitExceeded,
#[error("decode error: {0}")]
DecodeError(String),
#[error("validation error: {0}")]
ValidationError(String),
}