1use crate::protobuf::WireType;
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum DecodeError {
6 #[error("overflow 64bit")]
7 OverFlow64Bit,
8
9 #[error("overflow 32bit")]
10 OverFlow32Bit,
11
12 #[error("Unknown wire type: {0}")]
13 UnknownWireType(u64),
14
15 #[error("deprecated wire type: {0}")]
16 DeprecatedWireType(WireType),
17
18 #[error("unexpected EOF")]
19 UnexpectedEof,
20
21 #[error("EOF")]
22 EOF,
23
24 #[error("unknown error")]
25 Error,
26}
27
28pub fn convert_error<T, E>(result: Result<T, anyhow::Error>, err: E) -> Result<T, E> {
29 match result {
30 Ok(t) => Ok(t),
31 Err(_) => Err(err),
32 }
33}