naia_client/
error.rs

1use std::{error::Error, fmt};
2
3#[derive(Debug)]
4pub enum NaiaClientError {
5    Message(String),
6    Wrapped(Box<dyn Error + Send>),
7    SendError,
8    RecvError,
9    IdError(u16),
10}
11
12impl NaiaClientError {
13    pub fn from_message(message: &str) -> Self {
14        Self::Message(message.to_string())
15    }
16}
17
18impl fmt::Display for NaiaClientError {
19    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
20        match self {
21            Self::Message(msg) => write!(f, "Naia Client Error: {}", msg),
22            Self::Wrapped(boxed_err) => fmt::Display::fmt(boxed_err.as_ref(), f),
23            Self::SendError => write!(f, "Naia Client Error: Send Error"),
24            Self::RecvError => write!(f, "Naia Client Error: Recv Error"),
25            Self::IdError(code) => write!(f, "Naia Client Error: Id Error: {}", code),
26        }
27    }
28}
29
30impl Error for NaiaClientError {}
31unsafe impl Send for NaiaClientError {}
32unsafe impl Sync for NaiaClientError {}