[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (MQTT-587) PingReq maxMessages to be updated to support a low default value
[ https://issues.oasis-open.org/browse/MQTT-587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Simon Johnson updated MQTT-587: ------------------------------- Proposal: I propose (in order to keep complexity to a minimum); # We remove the maxMessages on PINGREQ and instead revert to a CONNECT flags value "defaultAwakeMaxMessagesValue" # "defaultAwakeMaxMessagesValue" is added as normative to a value of 0 (unlimited or gateway bounded) # "defaultAwakeMaxMessagesValue" is added to the new "sessionFlags" field in the CONNACK packet (utilising 4 bits of the reserved sessionFlags field - meaning values in the *range of 1-15 can be specified as default or 0 which means gateway controlled*) to indicate what the gateway as this set as - *this leaves 1 bits reserved for other use* was: I propose (in order to keep complexity to a minimum); # We remove the maxMessages on PINGREQ and instead revert to a CONNECT flags value "defaultAwakeMaxMessagesValue" # "defaultAwakeMaxMessagesValue" is added as normative to a value of 0 (unlimited or gateway bounded) # "defaultAwakeMaxMessagesValue" is added to the new "sessionFlags" field in the CONNACK packet (utilising 4 bits of the reserved sessionFlags field - meaning values in the *range of 1-16 can be specified as default*) to indicate what the gateway as this set as - *this leaves 1 bits reserved for other use* > PingReq maxMessages to be updated to support a low default value > ---------------------------------------------------------------- > > Key: MQTT-587 > URL: https://issues.oasis-open.org/browse/MQTT-587 > Project: OASIS Message Queuing Telemetry Transport (MQTT) TC > Issue Type: Improvement > Components: MQTT-SN > Reporter: Simon Johnson > Assignee: Simon Johnson > Priority: Major > > The proposal is that a default maxMessages during AWAKE cycle should be catered for on the gateway so that in instances where a device chooses not to restrict the number of messages (omits or sends 0 in PINGREQ maxMessages field) in a PING awake cycle - the gateway will respond with only a low (configurable) limit default 1. > The idea is to stop devices who have not utilised the max messages restriction properly from being overwhelmed. > Â > In this scenario, it may also be valid for the gateway to advertise its "defaultAwakeMaxMessage" size as part of the CONNECT interaction. > Â > Presently - the specification outlines that maxMessages 0 on a PINGREQ packet indicates to the gateway that the client wishes all messages to be sent back to the client as part of the AWAKE cycle. > Â > The maxMessages field is OPTIONAL at the moment, but given its position preceding the clientId (also optional); as it currently stands the OMISSION of the field cannot be used to derive function, as to supply a clientId, a 0 value must be supplied. This ~could be alleviated by switching the order of the clientId and maxMessages field (since the clientId is a UTF field - which means it can supply a 0 length field using 2 bytes of length data) allowing a maxMessages field to be omitted in isolation, however this ADDs 2 bytes of data per interaction for clients who wish to specify a length value of 0 or more - something I would not advocate. > Â > Â -- This message was sent by Atlassian Jira (v8.3.3#803004)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]