rosu_render/websocket/
error.rs

1use 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}