diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2024-01-29 17:52:06 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2024-01-29 17:52:06 +0100 |
commit | d0bb4a2c2636862f44d174edb7e809593ce27c62 (patch) | |
tree | e156257b7c2a35f0e29c1ec86da0bdf03158bf4e | |
parent | ad00031aa2d0293302c59e36eb30b680cedd6ac9 (diff) |
use wrapping client ids
-rw-r--r-- | src/main.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index f06948c..9c2490b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ use std::collections::HashMap; use std::fs; use std::io; use std::net::SocketAddr; +use std::num::Wrapping; use std::sync::Arc; use tokio::sync::{mpsc, Mutex}; @@ -68,10 +69,12 @@ impl PacketCodec for NullCodec { } } +type HandleId = (Wrapping<usize>, ChannelId); + #[derive(Clone)] struct Server { - clients: Arc<Mutex<HashMap<(usize, ChannelId), Handle>>>, - id: usize, + clients: Arc<Mutex<HashMap<HandleId, Handle>>>, + id: Wrapping<usize>, packets: Arc<Mutex<HeapRb<Vec<u8>>>>, } @@ -235,7 +238,7 @@ async fn main() -> Result<()> { let server = Server { clients: Arc::new(Mutex::new(HashMap::new())), - id: 0, + id: Wrapping(0), packets: Arc::new(Mutex::new(HeapRb::new(64000))), }; |