![]() |
Kurlyk
|
Manages backend-specific WebSocket client instances and coordinates their lifecycle. More...
#include <WebSocketManager.hpp>
Public Member Functions | |
| void | process () override |
| Processes all active backend-specific WebSocket clients managed by this instance. | |
| void | shutdown () override |
| Shuts down all active backend-specific WebSocket clients managed by this instance. | |
| const bool | is_loaded () const override |
| Checks if any managed backend-specific WebSocket client is currently running. | |
| selected_backend_client_ptr | create_client () |
| Creates and returns a new backend-specific WebSocket client selected by compilation flags. | |
| Public Member Functions inherited from kurlyk::core::INetworkTaskManager | |
| virtual | ~INetworkTaskManager ()=default |
Static Public Member Functions | |
| static WebSocketManager & | get_instance () |
| Get the singleton instance of WebSocketManager. | |
Private Member Functions | |
| WebSocketManager ()=default | |
| Private constructor to enforce singleton pattern. | |
| virtual | ~WebSocketManager ()=default |
| Private destructor to enforce singleton pattern. | |
| WebSocketManager (const WebSocketManager &)=delete | |
| Deleted copy constructor to enforce the singleton pattern. | |
| WebSocketManager & | operator= (const WebSocketManager &)=delete |
| Deleted copy assignment operator to enforce the singleton pattern. | |
Private Attributes | |
| std::mutex | m_client_list_mutex |
| Mutex for synchronizing access to the client list. | |
| std::list< selected_backend_client_weak_ptr > | m_client_list |
| List of managed backend-specific WebSocket clients. | |
Manages backend-specific WebSocket client instances and coordinates their lifecycle.
Definition at line 35 of file WebSocketManager.hpp.
|
privatedefault |
Private constructor to enforce singleton pattern.
|
privatedelete |
Deleted copy constructor to enforce the singleton pattern.
|
inline |
Creates and returns a new backend-specific WebSocket client selected by compilation flags.
Definition at line 88 of file WebSocketManager.hpp.
|
inlinestatic |
Get the singleton instance of WebSocketManager.
Definition at line 40 of file WebSocketManager.hpp.
|
inlineoverridevirtual |
Checks if any managed backend-specific WebSocket client is currently running.
Implements kurlyk::core::INetworkTaskManager.
Definition at line 76 of file WebSocketManager.hpp.
|
privatedelete |
Deleted copy assignment operator to enforce the singleton pattern.
|
inlineoverridevirtual |
Processes all active backend-specific WebSocket clients managed by this instance.
Iterates over each WebSocket client and calls its process method to handle pending operations. Automatically removes clients that are no longer active from the internal client list.
Implements kurlyk::core::INetworkTaskManager.
Definition at line 49 of file WebSocketManager.hpp.
|
inlineoverridevirtual |
Shuts down all active backend-specific WebSocket clients managed by this instance.
Iterates over each WebSocket client and calls its shutdown method to stop and clear its state.
Implements kurlyk::core::INetworkTaskManager.
Definition at line 65 of file WebSocketManager.hpp.
|
privatevirtualdefault |
Private destructor to enforce singleton pattern.
|
private |
List of managed backend-specific WebSocket clients.
Definition at line 116 of file WebSocketManager.hpp.
|
mutableprivate |
Mutex for synchronizing access to the client list.
Definition at line 115 of file WebSocketManager.hpp.