using standardized tcp requests and responses

This commit is contained in:
2026-08-16 15:41:18 +02:00
parent 0b3853e1be
commit 673eed4e80
3 changed files with 113 additions and 46 deletions
+42 -2
View File
@@ -7,7 +7,47 @@ pub enum ResponseStatus {
}
#[derive(Serialize, Deserialize)]
pub struct ConectionResponse {
pub struct AudioStreamInfo {
pub stream_id: u32,
pub channels: u8,
pub sample_rate: u32,
}
#[derive(Serialize, Deserialize)]
pub struct TcpRequest {
pub client_id: u32,
pub data: TcpRequestData,
}
#[derive(Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum TcpRequestData {
NewConnection,
DropConnection,
NewAudioStream { audio_stream_info: AudioStreamInfo },
DropAudioStream { audio_stream_id: u32 },
}
#[derive(Serialize, Deserialize)]
pub struct TcpResponse {
pub status: ResponseStatus,
pub client_id: u32,
pub data: TcpResponseData,
}
#[derive(Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum TcpResponseData {
NewConnection {
client_id: u32,
},
Updated,
UserJoined {
user_id: u32,
},
UserDisconnected {
user_id: u32,
},
AudioStreamsUpdate {
audio_stream_info: Vec<AudioStreamInfo>,
},
}