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

Non-normative guidance on clients and session expiry

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5, wd14
    • Fix Version/s: 5, wd15
    • Component/s: edits
    • Labels:
      None
    • Proposal:
      Hide

      If the client does not implement expiry itself then it has to make a successful connection to the serveri order to clean up its state, so there is a small advantage in implementing it.

      I changed the second non normative comment to:

      The Client and Server clocks might drift and not measure time intervals accurately. The Client should always use the Session Present flag in the CONNACK packet where it disagrees with is calculation of whether the Server should have keep its Session State.

      Show
      If the client does not implement expiry itself then it has to make a successful connection to the serveri order to clean up its state, so there is a small advantage in implementing it. I changed the second non normative comment to: The Client and Server clocks might drift and not measure time intervals accurately. The Client should always use the Session Present flag in the CONNACK packet where it disagrees with is calculation of whether the Server should have keep its Session State.

      Description

      There are two non-normative comments starting at Line 1122 which could be interpreted as conflicting guidance. It certainly made me pause ...

      It reads like:

      1. The client can avoid implementing its own session expiry by relying on Session Present.
      2. But if the client does implement its own session expiry, then it needs to store the time when the session state will be deleted.
      3. But the clocks might drift, so the client should always rely on Session Present rather than calculate ...

      Why not simply recommend that clients use Session Present?

      Non-Normative comment
      The Client can avoid implementing its own Session expiry and instead rely on the Session Present flag returned from the Server to determine if the Session had expired. If the Client does implement its own Session expiry, it needs to store the time at which the Session State will be deleted as part of its Session State.

      Non-Normative comment
      The Client and Server clocks might drift and not measure time intervals accurately. The Client should always rely on the Session Present flag in the CONNACK packet rather than try to calculate whether the Server did keep its Session State.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              brianraymor Brian Raymor [X] (Inactive)
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: