1use serde_json::{Error as JsonError};
4use zmq::{Error as ZmqError};
5
6
7pub type Result<T> = std::result::Result<T, Error>;
8
9#[derive(Debug)]
10pub enum Error {
11 IoError(std::io::Error),
13 JsonError(JsonError),
15 NotUtf8Error(Vec<u8>),
17 TomlDeserializeError(toml::de::Error),
19 TomlSerializeError(toml::ser::Error),
21 ZmqError(ZmqError),
23}
24
25impl From<std::io::Error> for Error {
26 fn from(e: std::io::Error) -> Self { Self::IoError(e) }
27}
28
29impl From<JsonError> for Error {
30 fn from(e: JsonError) -> Self { Self::JsonError(e) }
31}
32
33impl From<toml::de::Error> for Error {
34 fn from(e: toml::de::Error) -> Self { Self::TomlDeserializeError(e) }
35}
36
37impl From<toml::ser::Error> for Error {
38 fn from(e: toml::ser::Error) -> Self { Self::TomlSerializeError(e) }
39}
40
41impl From<ZmqError> for Error {
42 fn from(e: ZmqError) -> Self { Self::ZmqError(e) }
43}