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

Reply via email to