use thiserror::Error;
#[derive(Debug, Error)]
pub enum CdpError {
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("not a CDP file (bad magic)")]
InvalidMagic,
#[error("unknown tag type 0x{0:02x}")]
InvalidTagType(u8),
#[error("truncated input")]
TruncatedInput,
#[error("decompression failed: {0}")]
DecompressFailed(String),
#[error("invalid compression mode {0}")]
InvalidMode(u8),
#[error("JSON serialization failed: {0}")]
JsonSerialize(String),
}