Skip to main content

krabka_records_legacy/
error.rs

1//! Errors that the v0/v1 `MessageSet` codec returns.
2
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum LegacyRecordsError {
7    #[error("buffer truncated: need {needed} more byte(s)")]
8    Truncated { needed: usize },
9
10    #[error("unsupported magic byte {found} (legacy codec accepts 0 or 1)")]
11    UnsupportedMagic { found: i8 },
12
13    #[error("message CRC mismatch (expected={expected:#010x} computed={computed:#010x})")]
14    CrcMismatch { expected: u32, computed: u32 },
15
16    #[error("negative length {len} for {label}")]
17    NegativeLength { label: &'static str, len: i32 },
18
19    #[error("inconsistent magic: outer={outer} inner={inner}")]
20    InconsistentMagic { outer: i8, inner: i8 },
21
22    #[error("recursive compressed wrapper not allowed")]
23    NestedCompression,
24
25    #[error("malformed legacy record: {0}")]
26    Malformed(String),
27
28    #[error(transparent)]
29    Compression(#[from] krabka_compression::CompressionError),
30}