26.09.2016, 00:12, "Konstantin Tokarev" <[email protected]>: > 25.09.2016, 06:58, "Thiago Macieira" <[email protected]>: >> A thread[1] on the interest mailing list started when someone asked for the >> docs for the current format of the QDataStream wire protocol, to which I >> replied that it doesn't exist as we don't maintain such docs. >> >> Long story short, we have two options: >> >> Option 1: claim QDataStream is a blackbox and tell people that the only >> thing >> that can read QDataStream is QDataStream. That means removing the >> documentation file src/corelib/doc/src/datastreamformat.qdoc, as we don't >> want >> people getting any ideas that they could write their own decoders or >> encoders. >> >> Option 2: the opposite, saying that reading QDataStream's output is fine >> from >> non-Qt code and it's fine to write data that QDataStream should read. This >> means extending the documentation to cover ALL 17 wire formats (including >> bugs) and keeping it up to date whenever someone modifies the format. >> >> I am in favour of Option 1 because I really don't think QDataStream is a >> good >> format for exchanging data with non-Qt code. It's designed first and >> foremost >> for Qt's own internal data formats (sometimes even depending on internal >> details), the marshalling of certain types in certain versions is buggy and >> lossy. Instead, people should find a better transport format for their >> data, of >> which we already have in Qt: >> >> XML >> JSON >> D-Bus >> QSettings (to an extent) >> >> And I can add CBOR support if we want to. > > In case you are going to implement CBOR from scratch, please support string > reference extension [1] which is needed to encode repeating strings (most > importantly, data keys) efficiently. > > [1] http://cbor.schmorp.de/stringref
BTW, newly emerged SuperPack format goes further and introduces repeated keyset optimization https://github.com/shapesecurity/superpack-spec https://www.infoq.com/news/2016/08/superpack > >> [1] >> http://lists.qt-project.org/pipermail/interest/2016-September/024387.html >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Development mailing list >> [email protected] >> http://lists.qt-project.org/mailman/listinfo/development > > -- > Regards, > Konstantin > _______________________________________________ > Development mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/development -- Regards, Konstantin _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
