Introduce a broker Timer to monitor sleeping ping flush

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major
    • None
    • Affects Version/s: MQTT-SN-1.2
    • Component/s: MQTT-SN
    • None
    • 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.  

      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.

            Assignee:
            ian.craggs
            Reporter:
            simon.johnson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: