1#[derive(Debug)]
2pub enum SendError {
3 RequestPacket(super::RequestPacketError),
4 ResponsePacket(super::ResponsePacketError),
5 Io(std::io::Error),
6}
7
8impl std::fmt::Display for SendError {
9 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10 write!(
11 f,
12 "{}",
13 match self {
14 SendError::RequestPacket(request_packet_error) => request_packet_error.to_string(),
15 SendError::ResponsePacket(response_packet_error) =>
16 response_packet_error.to_string(),
17 SendError::Io(error) => error.to_string(),
18 }
19 )
20 }
21}
22
23impl std::error::Error for SendError {}
24
25impl From<super::RequestPacketError> for SendError {
26 fn from(value: super::RequestPacketError) -> Self {
27 SendError::RequestPacket(value)
28 }
29}
30
31impl From<super::ResponsePacketError> for SendError {
32 fn from(value: super::ResponsePacketError) -> Self {
33 SendError::ResponsePacket(value)
34 }
35}
36
37impl From<std::io::Error> for SendError {
38 fn from(value: std::io::Error) -> Self {
39 SendError::Io(value)
40 }
41}