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}