Skip to main content

msrt_udp/
error.rs

1//! Error types for UDP adapters.
2
3use std::io;
4
5use msrt::endpoint::AcceptError;
6
7/// Result alias for UDP adapters.
8pub type Result<T> = core::result::Result<T, Error>;
9
10/// Error returned by UDP adapters.
11#[derive(Debug)]
12pub enum Error {
13    /// Underlying UDP socket IO failed.
14    Io(io::Error),
15    /// MSRT protocol processing failed.
16    Protocol(msrt::error::Error),
17    /// Server endpoint could not accept a peer.
18    Accept(AcceptError),
19}
20
21impl From<io::Error> for Error {
22    fn from(error: io::Error) -> Self {
23        Self::Io(error)
24    }
25}
26
27impl From<msrt::error::Error> for Error {
28    fn from(error: msrt::error::Error) -> Self {
29        Self::Protocol(error)
30    }
31}
32
33impl From<AcceptError> for Error {
34    fn from(error: AcceptError) -> Self {
35        Self::Accept(error)
36    }
37}