MQTT-v5 blockwise transfer

93 views
Skip to first unread message

Julien Christophe

unread,
Apr 3, 2018, 9:11:52 AM4/3/18
to MQTT
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

Paul Fremantle

unread,
Apr 10, 2018, 1:10:11 AM4/10/18
to mq...@googlegroups.com
Julien

Given that MQTT5 doesn't support block transfer, I would think that the user properties would be the right place to do this. 

In the minds of the designers, I imagine one might see block transfer as an "application" of MQTT5 (if that makes sense).

However, I like your suggestion for adding this in future to the core standard - it might be worth sending a comment into the committee:


Paul

--
To learn more about MQTT please visit http://mqtt.org
---
You received this message because you are subscribed to the Google Groups "MQTT" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mqtt+unsubscribe@googlegroups.com.
To post to this group, send email to mq...@googlegroups.com.
Visit this group at https://groups.google.com/group/mqtt.
For more options, visit https://groups.google.com/d/optout.



--
Paul Fremantle
Doctoral Researcher, University of Portsmouth, School of Computing
Visiting Scientist, Institute of the Architecture of Application Systems, Stuttgart
Visiting Lecturer, Software Engineering Programme, Oxford University
Co-Founder, WSO2
Apache Member and Committer
twitter: pzfreo / skype: paulfremantle / blog: http://pzf.fremantle.org

Julien Christophe

unread,
Apr 26, 2018, 9:15:47 AM4/26/18
to MQTT
Thank you Paul !
So we are currently testing this protocole with new properties (0x30...) instead of the user properties.
As we want to be as close as possible to the spec, we will try to make a draft and/or submit this suggestion to the commitee.
Thank you for your answer,
Julien
To unsubscribe from this group and stop receiving emails from it, send an email to mqtt+uns...@googlegroups.com.

To post to this group, send email to mq...@googlegroups.com.
Visit this group at https://groups.google.com/group/mqtt.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages