- TLS 1.3 on TCP (rustls + tokio-rustls, optional self-signed cert) - Server-side channel CRUD with SQLite persistence - Gateway → voice-node membership bridge via broadcast channel
22 lines
453 B
Rust
22 lines
453 B
Rust
use tokio::sync::broadcast;
|
|
|
|
#[derive(Clone, Debug)]
|
|
pub enum VoiceMembershipEvent {
|
|
Joined {
|
|
channel_id: String,
|
|
session_id: String,
|
|
user_id: String,
|
|
},
|
|
Left {
|
|
channel_id: String,
|
|
session_id: String,
|
|
user_id: String,
|
|
},
|
|
}
|
|
|
|
pub fn voice_membership_channel() -> (
|
|
broadcast::Sender<VoiceMembershipEvent>,
|
|
broadcast::Receiver<VoiceMembershipEvent>,
|
|
) {
|
|
broadcast::channel(256)
|
|
}
|