first commit
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user