aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Better handling of jsonstuebinm2021-03-071-20/+47
| | | | | (mostly to reduce the number of record types needed, and to deal with multiple possible types of client messages)
* Send JSON instead of bare textstuebinm2021-02-191-4/+5
| | | | | (before, the server just sent "state [n]" on state change, instead of a properly serialised json value)
* Seperate room states from global server statestuebinm2021-02-171-51/+78
| | | | | | | | The main server state is now a `HashMap` of `Text` to `MVar Room` instead of just `Room`. This allows for changing room states independently from the server state, which should make the entire thing scale better on multi-core architectures (nevermind that "switching slides" is presumably not something in much need of multicore servers ...)
* initial commitstuebinm2021-02-173-0/+193
So far, it is fairly inefficient — for each message, the global state of the application is changed (i.e. a read-write action on a HashMap). Since clients can't change rooms after joining anyways, this should probably be changed.