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}