rosu_render/websocket/
error.rs1use std::str::Utf8Error;
2
3use bytes::Bytes;
4use serde_json::Error as SerdeError;
5use thiserror::Error as ThisError;
6
7use crate::websocket::engineio::error::EngineIoError;
8
9#[derive(Debug, ThisError)]
10pub enum WebsocketError {
11 #[error("Failed to deserialize data={data:?}")]
12 Deserialize {
13 #[source]
14 source: SerdeError,
15 data: Bytes,
16 },
17 #[error("engine.io error")]
18 EngineIo(#[from] EngineIoError),
19 #[error("The websocket packet contained an invalid o!rdr event payload=\"{0:?}\"")]
20 InvalidEvent(Bytes),
21 #[error("Invalid packet id {0}")]
22 InvalidPacketId(char),
23 #[error("Got an invalid packet which did not follow the protocol format")]
24 InvalidPacket,
25 #[error("Failed to decode binary as UTF-8")]
26 InvalidUtf8(#[from] Utf8Error),
27}