modbus_rtu/error/
send.rs

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}