1 use tokio::sync::{broadcast, mpsc};
5 signal: broadcast::Sender<()>,
8 confirm: mpsc::Sender<()>,
12 pub fn new() -> (Self, mpsc::Receiver<()>) {
13 let (confirm, confirm_recv) = mpsc::channel(1);
14 let (signal, _) = broadcast::channel(1);
16 (Self { confirm, signal }, confirm_recv)
20 self.signal.send(()).unwrap();
23 pub fn subscribe(&self) -> broadcast::Receiver<()> {
24 self.signal.subscribe()