| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way it's not tied to details of the haskell binary library,
and implementations in other languages should be fairly simple to do.
The haskell protobuf library was used because it does not need extra
tooling or build steps. So I didn't write a .proto file, but one could
fairly easily be written by following ProtocolBuffers.hs and translating
it.
ProtocolBuffers.hs is *extremely* repetative and tedious code. Surely
there must be a way to not need to write all of that? Oh well, I wrote
it..
Sizes of serialized messages:
">>> debug-me session started": 121
sending a single key press: 169
This seems equally as efficient as the binary serialization was;
that was 165 bytes before elapsedTime was added.
This commit was sponsored by Ethan Aubin.
|
| |
|
|
|
|
|
|
|
|
|
| |
Multi-user client-server debug-me is working, almost perfectly.
All that was missing was replaying the log when the developer connected.
A number of race conditions had to be avoided to do that sanely.
This commit was sponsored by Ignacio on Patreon.
|
|
|
|
|
|
|
| |
Nice, was able to reuse all the protocol stuff from Role.Developer for
this.
This commit was sponsored by Fernando Jimenez on Patreon.
|
| |
|
| |
|
|
Incomplete, but the client is able to connect and send messages which
get logged.
Split up debug-me.hs into Role/*
Switched from cereal to binary, since websockets operate on lazy
ByteStrings, and using cereal would involve a copy on every receive.
This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
|