first commit

This commit is contained in:
2025-06-21 17:12:20 +02:00
parent cdea4a5b25
commit fe4695cfec

View File

@@ -26,6 +26,15 @@ pub enum MessageCall {
Audio {sequence: u16, data: Vec<u8>}, Audio {sequence: u16, data: Vec<u8>},
} }
impl MessageCall {
pub fn ping(message_id: [u8; 16]) -> Self {
Self::Ping {message_id}
}
pub fn audio(sequence: u16, data: Vec<u8>) -> Self {
Self::Audio {sequence, data}
}
}
/// Message reçu depuis le serveur au client /// Message reçu depuis le serveur au client
#[derive(Debug, Clone, PartialEq)] #[derive(Debug, Clone, PartialEq)]
pub enum MessageEvent { pub enum MessageEvent {
@@ -35,3 +44,31 @@ pub enum MessageEvent {
Audio {user: [u8; 16],sequence: u32, data: Vec<u8>}, Audio {user: [u8; 16],sequence: u32, data: Vec<u8>},
} }
impl MessageEvent {
pub fn ping(message_id: [u8; 16]) -> Self {
Self::Ping {message_id}
}
pub fn audio(user: [u8; 16], sequence: u32, data: Vec<u8>) -> Self {
Self::Audio {user, sequence, data}
}
}
impl MessageCall {
pub fn to_bytes(&self) -> Vec<u8> {
let mut buf = Vec::<u8>::with_capacity(15000);
match self {
MessageCall::Ping {message_id} => {
buf.push(UDPMessageType::Ping as u8);
buf.extend_from_slice(&message_id.to_vec());
},
MessageCall::Audio {sequence, data} => {
buf.push(UDPMessageType::Audio as u8);
buf.extend_from_slice(&sequence.to_be_bytes());
buf.extend_from_slice(&data);
}
}
buf
}
}