use std::collections::HashMap; use std::net::SocketAddr; use std::sync::Arc; use tokio::sync::mpsc::Sender; use tokio::sync::RwLock; #[derive(Clone)] pub struct ClientManager { pub handlers: Arc>>, pub usernames: Arc>> } #[derive(Clone)] pub struct ClientHandler { pub tx: Sender } pub enum ClientHandlerMessage { Tick, ChatMessage { from: String, message: String } }