first commit
This commit is contained in:
@@ -26,6 +26,15 @@ pub enum MessageCall {
|
||||
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
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum MessageEvent {
|
||||
@@ -35,3 +44,31 @@ pub enum MessageEvent {
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user