Uploaded image for project: 'OASIS Message Queuing Telemetry Transport (MQTT) TC'
  1. OASIS Message Queuing Telemetry Transport (MQTT) TC
  2. MQTT-538

Clarify SessionExpiry value for MQTT 5.0 equivalence of CleanSession to 0

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5
    • Fix Version/s: None
    • Component/s: core
    • Environment:

      Implementers of MQTT 5.0 and those migrating from 3.1.1

    • Proposal:
      Hide

      Clarify correct value of SessionExpiry in non-normative comment where implementer/user requires equivalent behaviour of CleanStart=0 as per MQTT 3.1.1

      Show
      Clarify correct value of SessionExpiry in non-normative comment where implementer/user requires equivalent behaviour of CleanStart=0 as per MQTT 3.1.1

      Description

      Email to comments list from Takatoshi Kondo:

       

      Hi,

      I have a comment about the following part of MQTT Version 5.0 document:

      https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oasis-2Dopen.org_mqtt_mqtt_v5.0_os_mqtt-2Dv5.0-2Dos.html-23-5FToc3901048&d=DwIFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=HFOYf-FWdPMlPq2g5pc8M7HUYiSp2sC9P2hDoZdjdRo&m=cA-Wf0Sm4lOyst4wG_JZAokBhagLMEshsXwWx1SZCa4&s=4QRoSC7d0BF5IMtW5-G3y_ZW9ZyAbSTS74i_dfysi_k&e=

      > 3.1.2.11.2 Session Expiry Interval
      >
      > ...snip...
      >
      > Non-normative comment
      >
      > Setting Clean Start to 1 and a Session Expiry Interval of 0, is equivalent to setting CleanSession to 1 in the MQTT Specification Version 3.1.1. Setting Clean Start to 0 and no Session Expiry Interval, is equivalent to setting CleanSession to 0 in the MQTT Specification Version 3.1.1.

      I thin that "Setting Clean Start to 0 and no Session Expiry Interval,
      is equivalent to setting CleanSession to 0 in the MQTT Specification
      Version 3.1.1." is not correct.

      Because "no Session Expiry Interval" is equivalent to set to 0.

      The spec said that as follows:

      > If the Session Expiry Interval is absent the value 0 is used. If it is set to 0, or is absent, the Session ends when the Network Connection is closed.
      >
      > If the Session Expiry Interval is 0xFFFFFFFF (UINT_MAX), the Session does not expire.

      So I think that the sentence

      "Setting Clean Start to 0 and no Session Expiry Interval, is
      equivalent to setting CleanSession to 0 in the MQTT Specification
      Version 3.1.1."

      should be something like as follows:

      "Setting Clean Start to 0 and a Session Expiry Interval of
      0xFFFFFFFF(UINT_MAX), is equivalent to setting CleanSession to 0 in
      the MQTT Specification Version 3.1.1."

      Am I missing something?

      Thanks,
      Takatoshi

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              coppen Richard Coppen
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: