Thread-safe session lifecycle management template.
auto add_session_with_id(session_ptr session, const std::string &session_id="") -> std::string
auto get_session(const std::string &session_id) const -> session_ptr
auto get_all_session_ids() const -> std::vector< std::string >
auto remove_session(const std::string &session_id) -> bool
auto get_all_sessions() const -> std::vector< session_ptr >
static auto generate_id() -> std::string
auto get_session_count() const -> size_t
auto clear_all_sessions() -> void
Thread-safe WebSocket session lifecycle management.
auto get_all_connection_ids() const -> std::vector< std::string >
Gets all connection IDs.
ws_session_manager(const session_config &config=session_config())
Constructs a WebSocket session manager.
auto get_connection_count() const -> size_t
Gets the current connection count.
auto get_all_connections() const -> std::vector< ws_connection_ptr >
Gets all active connections.
auto get_connection(const std::string &conn_id) const -> ws_connection_ptr
Gets a connection by ID.
auto add_connection(ws_connection_ptr conn, const std::string &conn_id="") -> std::string
Adds a connection to the manager.
static auto generate_connection_id() -> std::string
Generates a unique connection ID.
auto clear_all_connections() -> void
Clears all connections.
std::shared_ptr< ws_connection > ws_connection_ptr
auto remove_connection(const std::string &conn_id) -> bool
Removes a connection from the manager.
Configuration for session management.