serialization format
Markus Wanner <[email protected]> Mon, 4 Apr 2016 16:49:09 +0200
| Newsgroups | gmane.comp.version-control.monotone.devel |
|---|---|
| Message-ID | <[email protected]> |
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 _______________________________________________ Monotone-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/monotone-devel
signature.asc
(application/pgp-signature, 1.5 KB)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQQcBAEBCAAGBQJXAn7pAAoJEOhoLRs/MemzC6Ef/jdOgeABXnhTQOHW+XEm7IxJ IcU2Ude1DTCZT1MxwrShq3DopzIbcERW8meChpBdODqsSrmPEeLX655JyqBdvryK uYXYoytFFhUXV7ecN2Qd+IIV8Hy4qX5Y6qkfDcvW6k2BJ2S357aAFanaR3f1Q0HH IQcVnM6QdxIYO2tr/tcS0t3aFncywOiKxF20sMkljSUYpJZHAH7UtgprAroK9vGc pHuQgyB+2hiPH+ZQj4Bno/dHfoDsX2YnyjexcE3np+x98aMaqcZ6A2DB/zY7Nrqj lTYa7sJDm9zRe9H0iaOqEA7hNuoKBijjMFMcBF19SshyCLfRMELChFKa1NR2zJ7M DLCAOsvpSr+/ofUkYdr6h3i+n2Ghh77o7a88Hgc+m3wFCEUMaLuOObuY7gM0nt6X vW8hxmmPZJQYfmPNfvQF0pk4dqp2rBkoPZRIFbJlSUaiLHxlAYdx90MIxSEC5XEv 4hjNzCCJm+wdnzU1MsR8xYtPpaSPJyXon6XFXKGFEP0q1Hi7jOrisRPThNdRAgaw mPKvme4UX3/Hhah+0lRmazwt1rxxkU/DqtNS3rBKwuVlA43oEY2hscxG0qmgBysm ND7cfehyq6GT1FBk+cXNj2POomCP/XDx4JvdlYL0169o0jRci2s2PlrU9tfw/qZ7 IL/h5+VUV+IasyDMYjWrnAKPiOTHN6ebt8r/bCkd+w1DjrkjdYiGZcg0eQOfVTRF FIzgw662cRZIRjdkVP6YeKiVqUXfz/FaScL3Ry6qSOfv+RUVqdiU1A3jeJwlbdEb 0VHtPRlrh+GXFy9kNdSrUnEfRKUxJ+GfgBzo1W2Rt9tFfxBEdwaIoteUwUEsE6PA ybDxKsqT2r4QYN7cyvDG2576cubqnVfuIFiG9Ih/mLydz3/c4VIL2rOz8khUkGIv JXfqO7RxFv67+vYi/1xZZqPlXaHk7Jg8UuR2gh5z966MygARlj6osDWbJFl4U/JG Kr/DvqhN0hTVQD6ZqvkqjW2C+kwMMwS09YjV6jkVny8wgHLt1r4bAXh57RALtO1g BsGbqUVUmHS/GTWHUXJSPwAjiWSE/ZGGj1RrcAaYafOA1M1GOOaOSIlnhmLBcZtu DdUHr0YA6+7BosVIjXf8kU55tDOMG6hRbVl8dkKNsLy4chL9qxdBsdzqsPdhynTU RvMBSJR7QTz9pfZJqlh1ZC1FbVU5jxJnNYIwcHAYFyT3SKMAAOE/NcGT5PVAXTKf RgfvywD+DRnLBiUGo95lBv+gh0PPPqK/7q69DUi8QpmaUp07m6yvOwAsAUdBqq4u NiEVXOt53zeqJdsl/OCAH/dKaNPOdhaXByFDv6M7J8m51fW3QCVEwKcy9eW7GWA= =1Uef -----END PGP SIGNATURE-----