1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/*
This file is part of keks-meet (https://codeberg.org/metamuffin/keks-meet)
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2023 metamuffin <metamuffin@disroot.org>
*/
use serde::{Deserialize, Serialize};
use crate::logic::Client;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ClientboundPacket {
Init { your_id: Client, version: String },
ClientJoin { id: Client },
ClientLeave { id: Client },
Message { sender: Client, message: String },
RoomInfo { hash: String, user_count: usize },
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ServerboundPacket {
Join {
hash: Option<String>,
},
Ping,
Relay {
recipient: Option<Client>,
message: String,
},
WatchRooms(Vec<String>),
}
|