offline_protocol_core/
error.rs1use thiserror::Error;
4
5pub type Result<T> = std::result::Result<T, Error>;
7
8#[non_exhaustive]
12#[derive(Debug, Error, Clone, PartialEq, Eq)]
13pub enum Error {
14 #[error("Invalid message: {0}")]
16 InvalidMessage(String),
17
18 #[error("Invalid user ID: {0}")]
20 InvalidUserId(String),
21
22 #[error("Invalid app ID: {0}")]
24 InvalidAppId(String),
25
26 #[error("Invalid TTL: {0}")]
28 InvalidTTL(u8),
29
30 #[error("Invalid hop count: {0}")]
32 InvalidHopCount(u8),
33
34 #[error("Serialization error: {0}")]
36 SerializationError(String),
37
38 #[error("Deserialization error: {0}")]
40 DeserializationError(String),
41
42 #[error("Invalid service ID: {0}")]
44 InvalidServiceId(String),
45
46 #[error("{0}")]
48 Other(String),
49}
50
51impl From<serde_json::Error> for Error {
52 fn from(err: serde_json::Error) -> Self {
53 Error::SerializationError(err.to_string())
54 }
55}