videocall_cli/consumers/
mod.rs1use camera_synk::CameraSynk;
20use dead_synk::DeadSynk;
21use webtransport::WebTransportClient;
22
23pub mod camera_synk;
24pub mod dead_synk;
25pub mod local_window_synk;
26pub mod webtransport;
27
28pub enum CameraSynks {
29 DeadSynk(DeadSynk),
30 CameraSynk(Box<WebTransportClient>),
31 }
33
34impl CameraSynk for CameraSynks {
35 async fn connect(&mut self) -> anyhow::Result<()> {
36 match self {
37 CameraSynks::DeadSynk(dead_synk) => dead_synk.connect().await,
38 CameraSynks::CameraSynk(client) => client.connect().await,
39 }
40 }
41
42 async fn send_packet(&self, data: Vec<u8>) -> anyhow::Result<()> {
43 match self {
44 CameraSynks::CameraSynk(client) => client.send_packet(data).await,
45 CameraSynks::DeadSynk(dead_synk) => dead_synk.send_packet(data).await,
46 }
47 }
48}