In the TODO file is stated: * implement support for binary attributes. the general idea is to allow collections of (at a minimum) 64-bit integer, 64-bit floating point, and strings. the type needs to be encoded when written out to storage. there is high-desirability towards using a binary encoding format already defined and in popular use like BSON, UBJSON, or CBOR.
Can we choose (at least initially) a binary format to get started with? From my brief look at the three: =========== BSON --------- + Apache 2 license + C implementation available (uses CMake, has extensive test suite), see: https://github.com/mongodb/libbson/tree/master/ + docs: use xml format + specification version 1, see: http://bsonspec.org/spec.html + conversion to/from JSON: ??? + pros: assume it has lots of use with MongoDB UBJSON ------------- + MIT license + C implementation (uses CMake, has small test suite), see: https://github.com/Steve132/ubj + docs: limited + specification draft 12, see: http://ubjson.org/ + conversion to/from JSON: ??? + pros: simple code + cons: limited documentaion CBOR --------- + MIT license + C99 implementation available (uses CMake, has extensive test suite), see: https://github.com/PJK/libcbor + docs: use rst format + stable specification (RFC 7049), see: http://tools.ietf.org/html/rfc7049 + conversion to/from JSON: - non-normative recommendations in spec - ??? + pros: RFC spec, C99 standard (expedite getting our source onboard with C99 or, better yet, C++) + cons: MSVC still has no support for C99 (let's move to C++!!) =========== All look usable as 'other' src. I have not tried any implementations yet. A caveat: we probably should check docs and conversions to/from JSON for each version (specification and implementation) which I have not yet done. ...to be continued Best, -Tom ------------------------------------------------------------------------------ _______________________________________________ BRL-CAD Developer mailing list brlcad-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-devel