1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum DDPError {
5 #[error("socket error")]
6 Disconnect(#[from] std::io::Error),
7 #[error("No valid socket addr found")]
8 NoValidSocketAddr,
9 #[error("parse error")]
10 ParseError(#[from] serde_json::Error),
11 #[error("invalid sender, did you forget to connect() ( data from {from:?} - {data:?})")]
12 UnknownClient {
13 from: std::net::SocketAddr,
14 data: Vec<u8>,
15 },
16 #[error("Invalid packet")]
17 InvalidPacket,
18 #[error("There are no packets waiting to be read. This error should be handled explicitly")]
19 NothingToReceive,
20 #[error("Error receiving packet: {0}")]
21 CrossBeamError(#[from] crossbeam::channel::TryRecvError),
22}