offline_protocol_core/
error.rs1use alloc::string::{String, ToString};
4use thiserror::Error;
5
6pub type Result<T> = core::result::Result<T, Error>;
8
9#[non_exhaustive]
13#[derive(Debug, Error, Clone, PartialEq, Eq)]
14pub enum Error {
15 #[error("Invalid message: {0}")]
17 InvalidMessage(String),
18
19 #[error("Invalid user ID: {0}")]
21 InvalidUserId(String),
22
23 #[error("Invalid app ID: {0}")]
25 InvalidAppId(String),
26
27 #[error("Invalid TTL: {0}")]
29 InvalidTTL(u8),
30
31 #[error("Invalid hop count: {0}")]
33 InvalidHopCount(u8),
34
35 #[error("Serialization error: {0}")]
37 SerializationError(String),
38
39 #[error("Deserialization error: {0}")]
41 DeserializationError(String),
42
43 #[error("Invalid service ID: {0}")]
45 InvalidServiceId(String),
46
47 #[error("{0}")]
49 Other(String),
50}
51
52impl From<serde_json::Error> for Error {
53 fn from(err: serde_json::Error) -> Self {
54 Error::SerializationError(err.to_string())
55 }
56}