# Functions
Checks for every connection whether the user is not already connected, the room exists and the user is allowed in that room.
Default Authenticate Function, which permits all connections that specify a user=<userName> in the params for example: y.x.com/route?user=test.
Default Authenticate Function, which permits all connections that specify a user=<userName> and password=<pw> for example: y.x.com/route?user=test&password=123456bestpw the combination is checked against correctCombination(userName, password), which should check a database or something NOTE: Use ssl.
Bundle of multiple controllers In case of duplicate roomID definitions, the order here determines which room takes precedence.
Connect this websocket to the given url (example: http://dns.com:8080/route?user=testUserName) Server at url must be a wsclientable-server for reliable results On handshake problems, check cert (correct domain, still valid, added to local trusted).
See Connect and UrlWithParamsForRoomConnection.
yes, I know the following is ugly, but golang is seriously missing support for generics and this is kinda mostly ok.
See Connect and UrlWithParamsForRoomConnection.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Create PermanentRoom that allows only clients with one of the given IDs.
No description provided by the author
No description provided by the author
Create PermanentRoom that allows clients with any ID.
No description provided by the author
Create PermanentRoom that allows only clients with one of the given IDs.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Given cfg requires ssl.<child> sections.
No description provided by the author
No description provided by the author
Connect to url.
See UrlWithParamsForRoomConnection, StartChatClientLoop.
See UrlWithParamsForRoomConnection, StartChatClientLoop.
No description provided by the author
Returns complete url for room connection (baseurl example: http://dns.com:8080/route) Same as http://dns.com:8080/route?user=<userID>&room=<roomID>.
Returns complete url for room connection (baseurl example: http://dns.com:8080/route) Same as http://dns.com:8080/route?user=<userID>.
# Constants
No description provided by the author
# Structs
Error if authentication fails on a connecting websocket.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This file gives us the Client Connection type.
This class provides an in-memory, thread safe map from connectionID to ClientConnection.
Minimal RoomControllerI implementation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
error returned if there is a missing field in an http request.
A PermanentRoom is a Room, that will always return true for RoomI.IsValid.
No description provided by the author
A repeating room is a room, but only allows clients in the specified time frame There is NO functionality to close a room when the time is up For that the RoomStorageI.CleanExpired method has to be called - and connections closed via the callback That is left to the controller, because naturally that is the only class with enough information to do so! However it is very desirable that the RoomStorageI.CleanExpired method has an efficient implementation that scales.
No description provided by the author
Room base struct.
This class provides an in-memory, thread safe map from roomID to ConnectionMap.
Bundle of multiple controllers In case of duplicate roomID definitions, the order here determines which room takes precedence.
No description provided by the author
A temporary room is a room, but only allows clients in the specified time frame There is NO functionality to close a room when the time is up For that the RoomStorageI.CleanExpired method has to be called - and connections closed via the callback That is left to the controller, because naturally that is the only class with enough information to do so! However it is very desirable that the RoomStorageI.CleanExpired method has an efficient implementation that scales.
No description provided by the author
# Interfaces
No description provided by the author
Base Interface for all rooms Rooms have an ID Rooms can allow or reject clients (which may depend on the connectionID itself or context factors such as time) Rooms can become Invalid, in which case the would and should be removed by RoomStorageI.CleanExpired.
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author