Skip to main content

synapto_interface/
call.rs

1use 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}