1use serde::{
2 Deserialize,
3 Serialize,
4};
5use serde_with::skip_serializing_none;
6
7pub mod codecs;
8
9#[derive(Clone, Debug, Deserialize, Serialize)]
10pub enum WsIoPacketType {
11 #[serde(rename = "0")]
12 Auth,
13 #[serde(rename = "1")]
14 Disconnect,
15 #[serde(rename = "2")]
16 Event,
17 #[serde(rename = "3")]
18 Init,
19 #[serde(rename = "4")]
20 Ready,
21}
22
23#[skip_serializing_none]
24#[derive(Clone, Debug, Deserialize, Serialize)]
25pub struct WsIoPacket {
26 #[serde(rename = "d")]
27 pub data: Option<Vec<u8>>,
28
29 #[serde(rename = "k")]
30 pub key: Option<String>,
31
32 #[serde(rename = "t")]
33 pub r#type: WsIoPacketType,
34}