videocall_cli/consumers/
mod.rs

1use camera_synk::CameraSynk;
2use dead_synk::DeadSynk;
3use quic::QUICClient;
4
5pub mod camera_synk;
6pub mod dead_synk;
7pub mod local_window_synk;
8pub mod quic;
9
10pub enum CameraSynks {
11    DeadSynk(DeadSynk),
12    CameraSynk(QUICClient),
13    // LocalWindowSynk(LocalWindowSynk)
14}
15
16impl CameraSynk for CameraSynks {
17    async fn connect(&mut self) -> anyhow::Result<()> {
18        match self {
19            CameraSynks::DeadSynk(dead_synk) => dead_synk.connect().await,
20            CameraSynks::CameraSynk(client) => client.connect().await,
21        }
22    }
23
24    async fn send_packet(&self, data: Vec<u8>) -> anyhow::Result<()> {
25        match self {
26            CameraSynks::CameraSynk(client) => client.send_packet(data).await,
27            CameraSynks::DeadSynk(dead_synk) => dead_synk.send_packet(data).await,
28        }
29    }
30}