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

Introduce a broker Timer to monitor sleeping ping flush

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Applied
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: MQTT-SN-1.2
    • Fix Version/s: None
    • Component/s: MQTT-SN
    • Labels:
      None
    • Proposal:
      Hide

      Section 5.4.19 PINGREQ

      Length
      (octet  0)
      MsgType
           (1)
      Max messages (optional)
                (2)
      ClientId (optional)
                  (3:n)

      Table 22: PINGREQ Message

      • Length and MsgType: see section 5.2
      • Max messages: the maximum number of messages that can be received by a client during its awake state.  0 means no limit.  This field is optional, included when a sleeping client goes to the awake state, as is the ClientId.

      Section 5.4.20 PINGRESP Message

       

      • Length
        (octet  0)
        MsgType
             (1)
        Msgs left (optional)
        (1)

        Messages left: the number of messages left when a client is sent back to sleep.  Optional - only used at the end of a client awake period.  Values can be:

        • 0 - no messages still queued
        • 1 through 65534 - the number of messages still queued
        • 65535 (0xFFFF) - a number of messages are still queued, but not 0 (>=1)

       

      Section 6.14, support of sleeping clients, should be updated to add this behaviour.

       

      Show
      Section 5.4.19 PINGREQ Length (octet  0) MsgType      (1) Max messages (optional)           (2) ClientId (optional)             (3:n) Table 22: PINGREQ Message Length and MsgType: see section 5.2 Max messages: the maximum number of messages that can be received by a client during its awake state.  0 means no limit.  This field is optional, included when a sleeping client goes to the awake state, as is the ClientId. Section 5.4.20 PINGRESP Message   Length (octet  0) MsgType      (1) Msgs left (optional) (1) Messages left: the number of messages left when a client is sent back to sleep.  Optional - only used at the end of a client awake period.  Values can be: 0 - no messages still queued 1 through 65534 - the number of messages still queued 65535 (0xFFFF) - a number of messages are still queued, but not 0 (>=1)   Section 6.14, support of sleeping clients, should be updated to add this behaviour.  

      Description

      We should consider advising or mandating a broker monitored timer across the flush operation of a sleeping PING. In reality a sleeping client may have many messages to receive, which when sent on slow transport layers leads to devices being awake far longer than they may wish.

        Attachments

          Activity

            People

            • Assignee:
              ian.craggs Ian Craggs
              Reporter:
              simon.johnson Simon Johnson [X] (Inactive)
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: