5#include <nlohmann/json.hpp>
15 void start(
unsigned short port);
19 void onConnect(std::string clientId, std::shared_ptr<rtc::WebSocket> client);
20 void onMessage(
const std::string& clientId,
const std::string& text);
21 void sendTo(
const std::string& clientId,
const std::string& message);
23 void broadcast(
const std::string& message);
39 const std::unordered_map<std::string, std::shared_ptr<rtc::WebSocket>>&
authClients()
const
49 std::shared_ptr<rtc::WebSocketServer>
server;
59 std::unordered_map<std::string, std::shared_ptr<rtc::WebSocket>>
authClients_;
std::shared_ptr< rtc::WebSocketServer > server
void onMessage(const std::string &clientId, const std::string &text)
SignalingServer(std::weak_ptr< NetworkManager > parent)
void broadcast(const std::string &message)
bool isAuthenticated(const std::string &clientId) const
std::chrono::seconds pendingTimeout_
void disconnectClient(const std::string &clientId)
const std::unordered_map< std::string, std::shared_ptr< rtc::WebSocket > > & authClients() const
std::unordered_map< std::string, std::shared_ptr< rtc::WebSocket > > pendingClients_
void onConnect(std::string clientId, std::shared_ptr< rtc::WebSocket > client)
void disconnectAllClients()
void setPendingAuthTimeout(std::chrono::seconds s)
void moveToAuthenticated(const std::string &clientId)
std::unordered_map< std::string, std::string > authUsernames_
void start(unsigned short port)
std::weak_ptr< NetworkManager > network_manager
std::unordered_map< std::string, std::shared_ptr< rtc::WebSocket > > authClients_
void sendTo(const std::string &clientId, const std::string &message)
std::unordered_map< std::string, std::string > pendingUsernames_