kacrab_protocol/compression/
error.rs1use super::Compression;
4
5#[derive(Debug, thiserror::Error)]
7#[error("compression failed for codec {codec:?}")]
8#[non_exhaustive]
9pub struct CompressionError {
10 pub codec: Compression,
12 #[source]
14 pub kind: CompressionErrorKind,
15}
16
17impl CompressionError {
18 #[must_use]
20 pub const fn new(codec: Compression, kind: CompressionErrorKind) -> Self {
21 Self { codec, kind }
22 }
23}
24
25#[derive(Debug, thiserror::Error)]
27#[non_exhaustive]
28pub enum CompressionErrorKind {
29 #[error("unknown compression type: {0}")]
31 UnknownCodec(i16),
32
33 #[error("codec not enabled; rebuild with the corresponding feature")]
35 CodecDisabled,
36
37 #[error("encode failed: {message}")]
39 EncodeFailed {
40 message: String,
42 },
43
44 #[error("decode failed: {message}")]
46 DecodeFailed {
47 message: String,
49 },
50}