monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] serialization format


From: Markus Wanner
Subject: [Monotone-devel] serialization format
Date: Mon, 4 Apr 2016 16:49:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

Hi,

I'd like to get some feedback regarding some ideas around the
serialization format used for storage and exchange of data in monotone.
Currently, we're mostly using basic_io (for revisions, manifests, certs,
AFAIK even for automate).

Three things are bug me about basic_io:

 * while well readable, it's a custom format, not used anywhere else

 * it's flat and cannot represent nested structures

 * it cannot handle binary data (therefore monotone is spending quite a
   bit of time converting between hex and raw data (mostly revision
   ids))


There are plenty of alternatives when considering a binary format: good
old ASN.1, Google Protocol Buffers, MessagePack, Blink, etc...

Human readable alternatives (which would at least eliminate the first
two concerns) might be: JSON, YAML, or (bear with me) even XML. But for
hashes and such we need a canonical format. And nothing for those three
remains readable in any of their canonical forms that I've seen so far.


At the moment, the most important question seems to be: how much do you
value the human readable representation? How about a binary format that
you can easily transform to and from a human readable one?

I appreciate your feedback.

Regards

Markus Wanner

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]