1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
use std::io::{Error as IoError, ErrorKind as IoErrorKind}; use async_std::future::TimeoutError; use dsf_core::types::Error as DsfError; use futures_codec::JsonCodecError as CodecError; #[derive(Debug)] pub enum Error { Io(IoErrorKind), Codec(CodecError), Remote(DsfError), None(()), UnrecognizedResult, NoServiceFound, Unknown, Timeout, Socket, } impl From<IoError> for Error { fn from(e: IoError) -> Self { Error::Io(e.kind()) } } impl From<CodecError> for Error { fn from(e: CodecError) -> Self { Error::Codec(e) } } impl From<DsfError> for Error { fn from(e: DsfError) -> Self { Error::Remote(e) } } impl From<TimeoutError> for Error { fn from(_e: TimeoutError) -> Self { Error::Timeout } } impl From<()> for Error { fn from(e: ()) -> Self { Error::None(e) } }