use camera_synk::CameraSynk;
use dead_synk::DeadSynk;
use webtransport::WebTransportClient;
pub mod camera_synk;
pub mod dead_synk;
pub mod local_window_synk;
pub mod webtransport;
pub enum CameraSynks {
DeadSynk(DeadSynk),
CameraSynk(Box<WebTransportClient>),
}
impl CameraSynk for CameraSynks {
async fn connect(&mut self) -> anyhow::Result<()> {
match self {
CameraSynks::DeadSynk(dead_synk) => dead_synk.connect().await,
CameraSynks::CameraSynk(client) => client.connect().await,
}
}
async fn send_packet(&self, data: Vec<u8>) -> anyhow::Result<()> {
match self {
CameraSynks::CameraSynk(client) => client.send_packet(data).await,
CameraSynks::DeadSynk(dead_synk) => dead_synk.send_packet(data).await,
}
}
}