matrix_ui_serializable/models/
event_bridge.rs

1pub use tokio::sync::broadcast;
2
3use crate::models::events::EmitEvent;
4
5#[derive(Debug)]
6pub struct EventBridge {
7    sender: broadcast::Sender<EmitEvent>,
8}
9
10impl EventBridge {
11    pub fn new() -> (Self, broadcast::Receiver<EmitEvent>) {
12        let (sender, receiver) = broadcast::channel(100);
13        (Self { sender }, receiver)
14    }
15
16    pub fn emit(&self, event: EmitEvent) {
17        let _ = self.sender.send(event);
18    }
19}