-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: MQTT-SN
-
Labels:None
-
Resolution:
Chapter 3.19 (Sleeping clients) of WD24
During the asleep state, packets that need to be sent to the client are buffered at the server/gateway. The gateway MUST buffer application messages of quality-of-service 1 & 2.
Non-normative comment
The gateway may choose to buffer messages of all quality-of-service 0, whilst the client is sleeping and is within it's session expiry interval.
I propose to modify the above in
During the asleep state, packets that need to be sent to the client are buffered at the server/gateway. The gateway MUST buffer application messages of quality-of-service 1 & 2 & 0.
Non-normative comment
The gateway may choose to buffer messages of all quality-of-service 0, whilst the client is sleeping and is within it's session expiry interval.
With this modification the following scenario is possible:
- A client CONNECT to a gateway (client enrollment) with a very long session expiry interval
- The client subscribe to a certain topic to receive pending messages as soon as it sends a publish-1 message to a certain (also different) topic
- The client DISCONNECT with a very long session expiry interval
- After some time the client send a PUBLISH-1 message and would like to receive (like with the PINGREQ when in ASLEEP state) all pending messages on the topic it has subscribed to, also with QoS 0 (the most efficient as they don't require any acknowledge)