wotbreplay_parser/
error.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum Error {
5 #[error("ZIP error")]
6 ZipError(#[from] zip::result::ZipError),
7
8 #[error("Protocol Buffers error")]
9 ProtobufError(#[from] prost::DecodeError),
10
11 #[error("Pickle error")]
12 PickleError(#[from] serde_pickle::Error),
13
14 #[error("I/O error")]
15 IoError(#[from] std::io::Error),
16
17 #[error("UTF-8 error")]
18 StringDecodeError(#[from] std::string::FromUtf8Error),
19
20 #[cfg(feature = "meta")]
21 #[error("JSON error")]
22 JsonError(#[from] serde_json::Error),
23
24 #[error("invalid magic: {actual:#X}, expected: {expected:#X}")]
25 InvalidMagic { expected: u32, actual: u32 },
26
27 #[error("failed to parse type {type_} packet's payload at replay time {clock_secs}s")]
28 PacketPayloadParsingError {
29 source: Box<Error>,
30 type_: u32,
31 clock_secs: f32,
32 },
33}