dchatd/dchatmsg.rs
1/* This file is part of DarkFi (https://dark.fi)
2 *
3 * Copyright (C) 2020-2025 Dyne.org foundation
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <https://www.gnu.org/licenses/>.
17 */
18
19// ANCHOR: msg
20use smol::lock::Mutex;
21use std::sync::Arc;
22
23use darkfi::{
24 impl_p2p_message,
25 net::{
26 metering::{MeteringConfiguration, DEFAULT_METERING_CONFIGURATION},
27 Message,
28 },
29};
30use darkfi_serial::{async_trait, SerialDecodable, SerialEncodable};
31
32pub type DchatMsgsBuffer = Arc<Mutex<Vec<DchatMsg>>>;
33
34#[derive(Debug, Clone, SerialEncodable, SerialDecodable)]
35pub struct DchatMsg {
36 pub msg: String,
37}
38
39impl_p2p_message!(DchatMsg, "DchatMsg", 0, 0, DEFAULT_METERING_CONFIGURATION);
40// ANCHOR_END: msg