| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
(mostly to reduce the number of record types needed, and to deal with
multiple possible types of client messages)
|
|
|
|
|
| |
(before, the server just sent "state [n]" on state change, instead of
a properly serialised json value)
|
|
|
|
|
|
|
|
| |
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 ...)
|
|
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.
|