embassy_socket/
err.rs

1use embassy_net::tcp;
2use embassy_net::tcp::ConnectError;
3use embassy_sync::channel::TryReceiveError;
4
5/// socket result
6pub type SocketResult<T> = Result<T, SocketErr>;
7
8/// socket error
9#[derive(Debug)]
10pub enum SocketErr {
11    /// tcp error
12    TcpError(tcp::Error),
13    /// tcp connect error
14    ConnectError(tcp::ConnectError),
15    /// try receive error
16    TryReceiveError(TryReceiveError)
17}
18
19/// support tcp::error to socket err
20impl From<tcp::Error> for SocketErr {
21    #[inline]
22    fn from(value: tcp::Error) -> Self {
23        Self::TcpError(value)
24    }
25}
26
27/// support tcp::connectError to socket err
28impl From<tcp::ConnectError> for SocketErr {
29    fn from(value: ConnectError) -> Self {
30        Self::ConnectError(value)
31    }
32}
33
34/// support TryReceiveError to socket err
35impl From<TryReceiveError> for SocketErr {
36    fn from(value: TryReceiveError) -> Self {
37        Self::TryReceiveError(value)
38    }
39}