A chess server written in Go. The m stands for magnificent.
Go to file
Marco bb817ad3af Implement ringbuffer for websocket messages
This implements a ringbuffer that is used to decouple the raw websocket
connection from the messages that the game handler handles.

There is still a problem:
Test_MessageBuffer_GetWaitsForNewDataIfOldOneWasAlreadyGotten fails
because buf.Get() returns an old value instead of waiting for a new one.
This must be fixed.

Additionally, the Insert() and Get() methods must be thread-safe at
some point. But since Get() blocks when there is no data, there would be
a deadlock if I see this right.
2023-11-20 01:42:46 +01:00
.vscode First commit 2022-10-22 20:01:55 +02:00
api code upkeep 2023-10-12 21:03:12 +02:00
chess refactoring 2023-10-27 11:23:13 +02:00
connection Implement ringbuffer for websocket messages 2023-11-20 01:42:46 +01:00
lobby_registry Set groundwork for allowing reconnections 2023-10-12 22:30:03 +02:00
types code upkeep 2023-10-12 21:03:12 +02:00
usher Fix nil pointer dereference. 2023-07-11 18:21:54 +02:00
utils refactoring 2023-10-27 11:23:13 +02:00
go.mod Implement ringbuffer for websocket messages 2023-11-20 01:42:46 +01:00
go.sum Implement ringbuffer for websocket messages 2023-11-20 01:42:46 +01:00
main.go refactoring 2023-10-27 11:23:13 +02:00
README Add mechanic for passphrases. 2023-06-28 19:51:36 +02:00

Prerequisites:
    1. Install a word file:
        the server uses babbler that expects a word list at /usr/share/dict/words in order to generate the passphrases for lobbies.