1#[derive(Debug, thiserror::Error)]
2pub enum Error {
3 #[error(transparent)]
4 Io(#[from] std::io::Error),
5 #[error(transparent)]
6 Compress(#[from] lz4_flex::block::CompressError),
7 #[error(transparent)]
8 Decompress(#[from] lz4_flex::block::DecompressError),
9 #[error("encode error: {message}")]
10 Encode {
11 #[source]
12 error: bincode::error::EncodeError,
13 message: String,
14 },
15 #[error("decode error: {message}")]
16 Decode {
17 #[source]
18 error: bincode::error::DecodeError,
19 message: String,
20 },
21 #[error("invalid magic number")]
22 InvalidMagicNum,
23 #[error("invalid version format")]
24 InvalidVersion,
25 #[error("header checksum mismatch")]
26 HeaderChecksumMismatch,
27 #[error("content checksum mismatch")]
28 ContentChecksumMismatch,
29 #[error("file not found")]
30 FileNotFound,
31}