summaryrefslogtreecommitdiffhomepage
path: root/protocol.txt
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2017-04-21 12:16:38 -0400
committerJoey Hess <joeyh@joeyh.name>2017-04-21 13:19:06 -0400
commite336a4fdf3d55f01b8c2871ceb906544a493eeb7 (patch)
treeb3af043b4323b0f353baef44439d786ae6d55bd2 /protocol.txt
parentc4a04ead453bf783b79c5c0b263f657275794b25 (diff)
downloaddebug-me-e336a4fdf3d55f01b8c2871ceb906544a493eeb7.tar.gz
use cereal for efficient serialization for wire format
I tried both binary and cereal. For a ActivityMessage that takes 341 bytes in JSON and has a dataSize of 129, both used 165 bytes. Went with cereal since lazy bytestrings are not needed, and I might want to use https://hackage.haskell.org/package/safecopy later. (Perhaps I should be using protocol buffers or something to make it easier for non-haskell implementations? But that would complicate things a lot.)
Diffstat (limited to 'protocol.txt')
-rw-r--r--protocol.txt4
1 files changed, 3 insertions, 1 deletions
diff --git a/protocol.txt b/protocol.txt
index c71a84f..687c085 100644
--- a/protocol.txt
+++ b/protocol.txt
@@ -3,7 +3,9 @@ the two participants, known as the user and the developer.
(The exact composition of the JSON objects is not described here; see
Types.hs for the data types that JSON serialization instances are derived
-from.)
+from. Also, debug-me uses a binary format instead of sending JSON
+over the wire. The wire format is currently implemented using the
+Haskell cereal library, and is not specified.)
The Activity type is the main message type. The user sends Activity
Seen messages, and the developer responds with Activity Entered.