1 use {
2     failure::{Backtrace, Fail},
3     bytesio::bytes_errors::{BytesReadError, BytesWriteError},
4     std::fmt,
5 };
6 
7 #[derive(Debug)]
8 pub struct ControlMessagesError {
9     pub value: ControlMessagesErrorValue,
10 }
11 
12 #[derive(Debug, Fail)]
13 pub enum ControlMessagesErrorValue {
14     //Amf0WriteError(Amf0WriteError),
15     #[fail(display = "bytes write error: {}", _0)]
16     BytesWriteError(BytesWriteError),
17 }
18 
19 impl From<BytesWriteError> for ControlMessagesError {
from(error: BytesWriteError) -> Self20     fn from(error: BytesWriteError) -> Self {
21         ControlMessagesError {
22             value: ControlMessagesErrorValue::BytesWriteError(error),
23         }
24     }
25 }
26 
27 impl fmt::Display for ControlMessagesError {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result28     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
29         fmt::Display::fmt(&self.value, f)
30     }
31 }
32 
33 impl Fail for ControlMessagesError {
cause(&self) -> Option<&dyn Fail>34     fn cause(&self) -> Option<&dyn Fail> {
35         self.value.cause()
36     }
37 
backtrace(&self) -> Option<&Backtrace>38     fn backtrace(&self) -> Option<&Backtrace> {
39         self.value.backtrace()
40     }
41 }
42 
43 #[derive(Debug)]
44 pub struct ProtocolControlMessageReaderError {
45     pub value: ProtocolControlMessageReaderErrorValue,
46 }
47 
48 #[derive(Debug, Fail)]
49 pub enum ProtocolControlMessageReaderErrorValue {
50     #[fail(display = "bytes read error: {}", _0)]
51     BytesReadError(BytesReadError),
52 }
53 
54 impl From<BytesReadError> for ProtocolControlMessageReaderError {
from(error: BytesReadError) -> Self55     fn from(error: BytesReadError) -> Self {
56         ProtocolControlMessageReaderError {
57             value: ProtocolControlMessageReaderErrorValue::BytesReadError(error),
58         }
59     }
60 }
61 
62 impl fmt::Display for ProtocolControlMessageReaderError {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result63     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
64         fmt::Display::fmt(&self.value, f)
65     }
66 }
67 
68 impl Fail for ProtocolControlMessageReaderError {
cause(&self) -> Option<&dyn Fail>69     fn cause(&self) -> Option<&dyn Fail> {
70         self.value.cause()
71     }
72 
backtrace(&self) -> Option<&Backtrace>73     fn backtrace(&self) -> Option<&Backtrace> {
74         self.value.backtrace()
75     }
76 }
77