Skip to main content

scr_runtime_compression/
error.rs

1//! Error types for the compression runtime adapter.
2
3use thiserror::Error;
4
5/// Errors that can occur during compression operations.
6#[derive(Debug, Error)]
7pub enum CompressionError {
8    #[error("codec `{0}` is not available in this build")]
9    CodecNotAvailable(String),
10
11    #[error("encode failed: {0}")]
12    EncodeFailed(String),
13
14    #[error("serialization failed: {0}")]
15    SerializationFailed(String),
16
17    #[error("quant-governor policy rejected compression: {0}")]
18    PolicyRejected(String),
19}
20
21/// Errors that can occur during decompression operations.
22#[derive(Debug, Error)]
23pub enum DecompressError {
24    #[error("codec `{0}` is not available in this build")]
25    CodecNotAvailable(String),
26
27    #[error("decode failed: {0}")]
28    DecodeFailed(String),
29
30    #[error("deserialization failed: {0}")]
31    DeserializationFailed(String),
32
33    #[error("compressed data is corrupted or truncated: expected {expected} bytes, got {actual}")]
34    TruncatedData { expected: usize, actual: usize },
35
36    #[error("exact fallback required but no fallback decoder provided")]
37    NoFallbackProvided,
38}