Which CleanStart and Session Expiry Interval setting is equivalent to CleanSession 0 in v3.1.1 ?

39 views
Skip to first unread message

Takatoshi Kondo

unread,
Mar 16, 2020, 12:55:24 AM3/16/20
to MQTT
Hi,

In the MQTT v5 specification, Session Expiry Interval and Clean Start are introduced.

The MQTT v5 spec said as follows:



> Non-normative comment

> Setting Clean Start to 1 and a Session Expiry Interval of 0, is equivalent to setting CleanSession to 1 in the MQTT Specification Version 3.1.1. Setting Clean Start to 0 and no Session Expiry Interval, is equivalent to setting CleanSession to 0 in the MQTT Specification Version 3.1.1.

 


I understand "Setting Clean Start to 1 and a Session Expiry Interval of 0, is equivalent to setting CleanSession to 1 in the MQTT Specification Version 3.1.1. ".
But I don't understand why "Setting Clean Start to 0 and no Session Expiry Interval, is equivalent to setting CleanSession to 0 in the MQTT Specification Version 3.1.1.".

I think that "no Session Expiry Interval" means equivalent to 0.

The spec said as follos:

If the Session Expiry Interval is absent the value 0 is used. If it is set to 0, or is absent, the Session ends when the Network Connection is closed.
If the Session Expiry Interval is 0xFFFFFFFF (UINT_MAX), the Session does not expire.

So I think that "Setting Clean Start to 0 and no Session Expiry Interval, is equivalent to setting CleanSession to 0 in the MQTT Specification Version 3.1.1." is wrong.
It should be "Setting Clean Start to 0 and setting Session Expiry Interval to 0xFFFFFFFF, is equivalent to setting CleanSession to 0 in the MQTT Specification Version 3.1.1.

Am I missing something?


Thanks,
Takatoshi
Reply all
Reply to author
Forward
0 new messages