team04_server/messages/
text_broadcast.rs

1use super::*;
2
3pub struct TextBroadcast<'a> {
4    name: &'a str,
5    message: &'a str,
6}
7
8impl<'a> TextBroadcast<'a> {
9    pub fn new(name: &'a str, message: &'a str) -> Self {
10        Self { name, message }
11    }
12}
13
14impl MessageTx for TextBroadcast<'_> {
15    fn serialize(&self) -> String {
16        #[derive(Serialize)]
17        struct TextBroadcast<'a> {
18            #[serde(rename = "messageType")]
19            message_type: &'static str,
20            name: &'a str,
21            message: &'a str,
22        }
23
24        let message = TextBroadcast {
25            message_type: "TEXT_BROADCAST",
26            name: self.name,
27            message: self.message,
28        };
29
30        serialize(&message)
31    }
32}