//! Pub-sub traits use super::*; use std::any::TypeId; use std::collections::HashMap; use std::sync::Arc; use tokio::sync::{ RwLock, mpsc, }; use message::Message; #[derive(Debug)] struct SubListInner { //TODO: how tf do we do this? //subs: RwLock<HashMap<TypeID, RwLock<Vec<mpsc::Sender<message::SerializedMessage<dyn message::MessageValue>>>>>>, } /// List of subscibers #[derive(Debug, Clone)] pub struct SubscriberListRef(Arc<SubListInner>);