tx2_pack/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum PackError {
5    #[error("IO error: {0}")]
6    Io(#[from] std::io::Error),
7
8    #[error("Serialization error: {0}")]
9    Serialization(String),
10
11    #[error("Deserialization error: {0}")]
12    Deserialization(String),
13
14    #[error("Compression error: {0}")]
15    Compression(String),
16
17    #[error("Decompression error: {0}")]
18    Decompression(String),
19
20    #[error("Encryption error: {0}")]
21    Encryption(String),
22
23    #[error("Decryption error: {0}")]
24    Decryption(String),
25
26    #[error("Invalid snapshot format: {0}")]
27    InvalidFormat(String),
28
29    #[error("Version mismatch: expected {expected}, got {actual}")]
30    VersionMismatch { expected: String, actual: String },
31
32    #[error("Checksum mismatch")]
33    ChecksumMismatch,
34
35    #[error("Snapshot not found: {0}")]
36    SnapshotNotFound(String),
37
38    #[error("Invalid checkpoint: {0}")]
39    InvalidCheckpoint(String),
40
41    #[error("Bincode error: {0}")]
42    Bincode(#[from] bincode::Error),
43
44    #[error("MessagePack encode error: {0}")]
45    MsgPackEncode(#[from] rmp_serde::encode::Error),
46
47    #[error("MessagePack decode error: {0}")]
48    MsgPackDecode(#[from] rmp_serde::decode::Error),
49
50    #[error("JSON error: {0}")]
51    Json(#[from] serde_json::Error),
52
53    #[error("Unknown error: {0}")]
54    Unknown(String),
55}
56
57pub type Result<T> = std::result::Result<T, PackError>;