synapto_interface/
call.rs1use crate::plugin::Plugin;
2use crate::sync;
3use async_trait::async_trait;
4
5#[async_trait]
6pub trait CallPlugin: Plugin + Send + Sync {
7 async fn start(
8 &self,
9 peer_input_text_rx: sync::broadcast::Receiver<crate::peer_input_text::PeerInputText>,
10 cognitive_output_text_tx: sync::mpsc::Sender<
11 crate::cognitive_output_text::CognitiveOutputText,
12 >,
13 last_voice_time_rx: sync::watch::Receiver<std::time::Instant>,
14 cognitive_speaking_rx: sync::watch::Receiver<bool>,
15 call_active_tx: sync::watch::Sender<bool>,
16 ) -> Result<(), String>;
17}