shadowsocks/manager/error.rs
1//! Manager API errors
2
3use std::io;
4
5use thiserror::Error;
6
7use super::protocol::Error as ProtocolError;
8
9/// Manager Error
10#[derive(Error, Debug)]
11pub enum Error {
12 #[error("{0}")]
13 IoError(#[from] io::Error),
14 #[error(transparent)]
15 ProtocolError(#[from] ProtocolError),
16}
17
18impl From<Error> for io::Error {
19 fn from(e: Error) -> Self {
20 match e {
21 Error::IoError(e) => e,
22 Error::ProtocolError(e) => From::from(e),
23 }
24 }
25}