From 35201183360ffc77feda9b342dd6262b47066eb1 Mon Sep 17 00:00:00 2001 From: Noa Aarts Date: Thu, 12 Dec 2024 15:09:45 +0100 Subject: [PATCH] add counter to keep track of connected clients --- src/lib.rs | 1 + src/main.rs | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index ca49c1f..bb16ec3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -21,6 +21,7 @@ pub type Canvas = u8; pub type Coordinate = u16; pub static COUNTER: AtomicU64 = AtomicU64::new(0); +pub static CLIENTS: AtomicU64 = AtomicU64::new(0); pub type AsyncResult = Result>; diff --git a/src/main.rs b/src/main.rs index 85fdfb8..47241bf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,7 +12,7 @@ use flurry::{ flutclient::{FlutClient, ParserTypes}, grid::{self, Flut}, webapi::WebApiContext, - AsyncResult, + AsyncResult, CLIENTS, }; use futures::never::Never; use tokio::{net::TcpListener, time::interval, try_join}; @@ -59,11 +59,10 @@ async fn handle_flut( handles.push(tokio::spawn(async move { let (reader, writer) = socket.split(); let mut connection = FlutClient::new(reader, writer, grids); + CLIENTS.fetch_add(1, std::sync::atomic::Ordering::Relaxed); let resp = connection.process_socket().await; - match resp { - Ok(()) => Ok(()), - Err(err) => Err(err), - } + CLIENTS.fetch_sub(1, std::sync::atomic::Ordering::Relaxed); + resp })) } }