Our protocol for message size is similar to WebSockets, but not exactly the same.
If the first byte is 0-253, this is the length of the message content.
If the first byte is 254, read the next 2 bytes, this 16 bit number is the length.
If the first byte is 255, read the next 8 bytes, this 64 bit number is the length.
A message recieved from a client
Use this to write messages back to the server.
All events that can come from a client/server.
Connect to TCP on a given address.
Decodes a binary message, which was encoded on the other side. May return an error if the data is invalid.
Encodes a binary message so it can be read on the other side.
Listens for TCP on given address asynchronously.