tokio_thrift/
result.rs

1use std::io;
2use std::convert;
3use std::sync::PoisonError;
4use byteorder;
5use std::sync::mpsc::{SendError, RecvError};
6use protocol;
7
8#[derive(Debug)]
9pub enum ThriftError {
10    Other,
11    NotReady,
12    Str(String),
13    IO(io::Error),
14    ByteOrder(byteorder::Error),
15    PoisonError,
16    RecvError(RecvError),
17    SendError,
18}
19
20pub type ThriftResult<T> = Result<T, ThriftError>;
21
22impl convert::From<io::Error> for ThriftError {
23    fn from(val: io::Error) -> ThriftError {
24        ThriftError::IO(val)
25    }
26}
27
28impl<T> convert::From<SendError<T>> for ThriftError {
29    fn from(_val: SendError<T>) -> ThriftError {
30        ThriftError::SendError
31    }
32}
33
34impl convert::From<protocol::Error> for ThriftError {
35    fn from(_val: protocol::Error) -> ThriftError {
36        ThriftError::Other
37    }
38}
39
40impl convert::From<RecvError> for ThriftError {
41    fn from(_val: RecvError) -> ThriftError {
42        ThriftError::RecvError(RecvError)
43    }
44}
45
46impl convert::From<byteorder::Error> for ThriftError {
47    fn from(val: byteorder::Error) -> ThriftError {
48        ThriftError::ByteOrder(val)
49    }
50}
51
52impl<T> convert::From<PoisonError<T>> for ThriftError {
53    fn from(_val: PoisonError<T>) -> ThriftError {
54        ThriftError::PoisonError
55    }
56}