alfred_core/
error.rs

1use zeromq::ZmqError;
2
3#[derive(Debug)]
4#[derive(thiserror::Error)]
5#[from(std::error::Error)]
6pub enum Error {
7    #[error("Error on connection")]
8    ConnectionError,
9    #[error("Error publishing {1} in topic {0}")]
10    PublishError(String, String),
11    #[error("Error subscribing to topic {0}")]
12    SubscribeError(String),
13    #[error("Error during get_message")]
14    GetMessageError,
15    #[error("Error converting message")]
16    ConversionError,
17    #[error("No response topic found")]
18    ReplyError,
19    #[error("MessageCompressionError: {0}")]
20    MessageCompressionError(String),
21    #[error("Missing env property: {0}")]
22    MissingEnvPropertyError(String),
23    #[error("Missing file property: {0}")]
24    MissingFilePropertyError(String),
25    #[error("ZmqError: {0}")]
26    ZmqError(ZmqError),
27}
28
29impl From<MessageCompressionError> for Error {
30    fn from(value: MessageCompressionError) -> Self {
31        Self::MessageCompressionError(value.to_string())
32    }
33}
34
35impl From<ZmqError> for Error {
36    fn from(value: ZmqError) -> Self {
37        Self::ZmqError(value)
38    }
39}
40
41#[derive(Debug)]
42#[derive(thiserror::Error)]
43pub enum MessageCompressionError{
44    #[error("field {0} not found!")]
45    FieldNotFound(String),
46    #[error("message type {0} not found!")]
47    MessageType(String),
48    #[error("error during decompression")]
49    DecompressionError()
50}