OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

mqtt message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [OASIS Issue Tracker] (MQTT-271) Describing small device limitations, aka "the Arduino problem"

    [ https://issues.oasis-open.org/browse/MQTT-271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60872#comment-60872 ] 

Ian Craggs commented on MQTT-271:

Ken:  I would suggest restricting the limitations described in the MQTT connect packet purely to MQTT parameters, which to me could include 1 to 1 MQTT to TCP packet mapping, and flow limiting for QoS 0 messages (although QoS 0 flow rate perhaps be better solved by some dynamic pacing flows.  I'm open to the limitation description being extensible, however I think that the maximum MQTT packet size that can be handled is the biggest issue.

Ed: 1. I agree that limitations can apply to the server to the server too.  In my experience, normally the device has less capability than the server, but we can make the exchange reciprocal.

2. This circumstance is no worse than it is today.  Today the send of the message will fail, and then we have to decide what to do.  It is an administrative problem.  My approach would be to log the message and error and send an administrative alert.

3. There is another issue for negative acknowledgements.  I think this question is better resolved there.

4. TCP/IP is a stream.  The problem for the MQTT client is having to read and process a whole MQTT packet, not a whole TCP segment.  I think this is purely a concern of the TCP stack, and we don't need to concern ourselves with it in the MQTT specification.

> Describing small device limitations, aka "the Arduino problem"
> --------------------------------------------------------------
>                 Key: MQTT-271
>                 URL: https://issues.oasis-open.org/browse/MQTT-271
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Improvement
>          Components: futures
>    Affects Versions: 3.1.1
>         Environment: Very small device implementations.
>            Reporter: Ian Craggs
> Small devices, like the original Arduino, may have very limited resource, like 16k of RAM, or less.  For such devices, limiting the storage used by MQTT is very important.  
> They may not even be able to process a message of 30k, for instance, at all.  If it were sent at QoS 1 or 2, it has to be read in before subsequent messages are received.  
> At the moment, it is a server admin task, or application design task, to make sure that messages bigger than a device can handle are not sent to it.

This message was sent by Atlassian JIRA

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]