Skip to content

Commit 4d3e109

Browse files
committed
feat(ws): expose active session count
1 parent e65ccb2 commit 4d3e109

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

include/vix/websocket/server.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#include <algorithm>
1818
#include <chrono>
19+
#include <cstddef>
1920
#include <functional>
2021
#include <memory>
2122
#include <mutex>
@@ -299,6 +300,20 @@ namespace vix::websocket
299300
return cfg_.getInt("websocket.port", 9090);
300301
}
301302

303+
/**
304+
* @brief Return the current number of active WebSocket sessions.
305+
*
306+
* Expired sessions are removed before counting.
307+
*
308+
* @return Number of currently alive sessions.
309+
*/
310+
std::size_t active_session_count()
311+
{
312+
std::lock_guard<std::mutex> lock(sessionsMutex_);
313+
cleanup_sessions_locked();
314+
return sessions_.size();
315+
}
316+
302317
/**
303318
* @brief Broadcast a raw text frame to all connected sessions.
304319
*

0 commit comments

Comments
 (0)