Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5
    • Fix Version/s: wd03, 5
    • Component/s: futures
    • Labels:
      None
    • Proposal:
      Hide

      1) Update the CONNECT packet variable header to replace the
      Clean Session flag with a Clean Start flag in the same
      position in the Connect flags.

      Clean Session is renamed to Clean Start. If set to 1 this causes
      any existing Session State to be deleted on CONNECT
      but not on DISCONNECT. Consequently the Session Present
      flag in CONNACK is always set to 0 if Clean Start is set to 1
      on CONNECT.

      This bit specifies whether the Session state is deleted when
      a connection is made. Jira 249 - Session State Expiry interval
      contains the definition of the Session State.

      Non normative comment
      To ensure consistent state in the event of a failure during connect,
      where SessionPresent=1, is unexpectedly received,
      the Client should repeat its attempts to connect with a
      Clean Start set to 1, until it connects successfully.

      Non Normative comment
      Setting a Session Expiry interval of 0 and Clean Start to 1,
      is equivalent to setting Clean Session to 1 in the
      MQTT Specification Version 3.1.1.
      Setting no Session Expiry interval and setting Clean Start to 0
      is equivalent to setting Clean Session to 0 in the
      MQTT Specification Version 3.1.1.

      Show
      1) Update the CONNECT packet variable header to replace the Clean Session flag with a Clean Start flag in the same position in the Connect flags. Clean Session is renamed to Clean Start. If set to 1 this causes any existing Session State to be deleted on CONNECT but not on DISCONNECT. Consequently the Session Present flag in CONNACK is always set to 0 if Clean Start is set to 1 on CONNECT. This bit specifies whether the Session state is deleted when a connection is made. Jira 249 - Session State Expiry interval contains the definition of the Session State. Non normative comment To ensure consistent state in the event of a failure during connect, where SessionPresent=1, is unexpectedly received, the Client should repeat its attempts to connect with a Clean Start set to 1, until it connects successfully. Non Normative comment Setting a Session Expiry interval of 0 and Clean Start to 1, is equivalent to setting Clean Session to 1 in the MQTT Specification Version 3.1.1. Setting no Session Expiry interval and setting Clean Start to 0 is equivalent to setting Clean Session to 0 in the MQTT Specification Version 3.1.1.
    • Resolution:
      Hide

      Included in WD03

      Show
      Included in WD03

      Description

      There could be some more things we do in CONNECT and DISCONNECT to make it easier for client applications to manage stateful Sessions. For example we could consider an option on DISCONNECT that requests an immediate destruction of server state (e.g. pending messages and subscriptions)

        Attachments

          Activity

            People

            • Assignee:
              ken.borgendale Ken Borgendale
              Reporter:
              PeterNiblett Peter Niblett
            • Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: