1use std::error;
2use std::fmt;
3
4#[derive(Debug)]
6pub enum Error {
7 DateFormatError,
8 FixedFieldLengthError,
9 MessageFormatError,
10 UnknownMessageError,
11 NetworkError(String),
12 NoResponseError,
13 MissingParamsError,
14}
15
16use self::Error::*;
17
18impl error::Error for Error {
19 fn source(&self) -> Option<&(dyn error::Error + 'static)> {
20 None
21 }
22}
23
24impl fmt::Display for Error {
25 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
26 match *self {
27 DateFormatError => write!(f, "date format error"),
28 FixedFieldLengthError => write!(f, "fixed field length error"),
29 NetworkError(ref s) => write!(f, "network error: {s}"),
30 MessageFormatError => write!(f, "sip message format error"),
31 UnknownMessageError => write!(f, "unknown sip message type"),
32 NoResponseError => write!(f, "no message was received"),
33 MissingParamsError => write!(f, "missing needed parameter values"),
34 }
35 }
36}