Hello,
We are currently using MQTTv5 properties in order to implement a request-response mechanism (using 0x09 Correlation Data). [1]
Our broker have the above limitation: maximum payload size of 128k.
We are facing a problem with request of large objects, who could be bigger than the maximum payload size.
We where seeking of a solution in order to implement block-wise transfer (we saw coap implementation [2], and were potentially doing something similar)
I was thinking about adding block-wise transfer flags in the MQTTv5 philosophy, something like:
0x30 | variable byte integer | block number
0x31 | byte ("boolean") | more (=not last block)
0x32 | byte | block size exponent
We were thinking about adding user-properties (0x26) like NUM=0; M=0; SZX=256, but, as user-properties are utf8-encoded strings, and are more oriented "application-side" and not "transport-side", I think it is worst :/
I didn't find any work speaking about block-wise transfer in mqtt, so, for now, we have no idea of how to implement that...
If you have any idea, let me know :)
Thanks,
Julien
[1]
http://docs.oasis-open.org/mqtt/mqtt/v5.0/cs01/mqtt-v5.0-cs01.html#_Toc502667250[2]
https://tools.ietf.org/html/rfc7959