rsa_msg_packets/communication/
to.rs1use std::collections::VecDeque;
2
3use uuid::Uuid;
4
5use crate::{types::ByteMessage, util::{converter::uuid_to_decque, vec::{decque_to_vec, vec_to_decque}, modes::Modes, tools::uuid_from_vec}};
6
7pub struct ToMsg {
8 pub msg: Vec<u8>,
9 pub receiver: Uuid,
10}
11
12impl ByteMessage for ToMsg {
13 fn serialize(&self) -> Vec<u8> {
14 let mut merged: VecDeque<u8> = VecDeque::new();
15
16 let mut b_msg = vec_to_decque(self.msg.clone());
17 let mut b_receiver = uuid_to_decque(&self.receiver);
18
19 merged.append(&mut b_receiver);
20 merged.append(&mut b_msg);
21
22 return Modes::To.get_send(&decque_to_vec(merged));
23 }
24
25 fn deserialize(data: &Vec<u8>) -> anyhow::Result<Self> {
26 let mut data = data.clone();
27
28 let receiver = uuid_from_vec(&mut data)?;
29
30 return Ok(ToMsg {
31 msg: data,
32 receiver
33 });
34 }
35}