diameter_interface/
errors.rs1use std::fmt;
2use std::fmt::{Debug, Display, Formatter};
3
4#[derive(Debug)]
5pub enum Error {
6 ClientError(&'static str),
7 IoError(std::io::Error),
8 EncodeError(&'static str),
9 DecodeError(&'static str),
10}
11
12pub type DiameterResult<T> = Result<T, Error>;
13
14impl Display for Error {
15 fn fmt(&self, f: &mut Formatter) -> fmt::Result {
16 match self {
17 Error::ClientError(msg) => write!(f, "{}", msg),
18 Error::IoError(e) => write!(f, "{}", e),
19 Error::EncodeError(msg) => write!(f, "{}", msg),
20 Error::DecodeError(msg) => write!(f, "{}", msg),
21 }
22 }
23}
24
25impl std::error::Error for Error {}
26
27impl From<std::io::Error> for Error {
28 fn from(err: std::io::Error) -> Self {
29 Error::IoError(err)
30 }
31}