OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

mqtt message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (MQTT-263) Simplified State Management


     [ https://issues.oasis-open.org/browse/MQTT-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Banks updated MQTT-263:
------------------------------

    Proposal: 
1) Update the CONNECT packet variable header to replace the 
   Clean Session flag with a Clean Start flag in the same 
   position in the Connect flags. 

   Clean Session is renamed to Clean Start. If set to 1 this causes
   any existing Session State to be deleted on CONNECT
   but not on DISCONNECT. Consequently the Session Present
   flag in CONNACK is always set to 0 if Clean Start is set to 1 
   on CONNECT.

   This bit specifies whether the Session state is deleted when
   a connection is made. Jira 249 - Session State Expiry interval
   contains the definition of the Session State. 

 Non normative comment 
     To ensure consistent state in the event of a failure during connect, 
     the Client should repeat its attempts to connect with a 
     Session Expiry interval of 0, and CleanStart set to 1, 
     until it connects successfully. 
  
 Non Normative comment 
     Setting a Session Expiry interval of 0 and CleanStart to 1, 
     is equivalent to setting CleanSession to 1 in the 
     MQTT Specification Version 3.1.1. 
     Setting no Session Expiry interval and setting CleanStart to 0
     is equivalent to setting CleanSession to 0 in the 
     MQTT Specification Version 3.1.1.

  was:
The DISCONNECT packet has an optional Session State Expiry Interval, if present this overrides the value set on CONNECT.

Clean Session is renamed to Clean Start, this causes any existing Session State to be deleted on CONNECT but not on DISCONNECT.

A new flag SendWillOnSessionStateExpiry, is sent as a CONNECT optional value. If absent or false the will message is sent on network disconnection where no DISCONNECT packet is processed as today. If true the Will message is sent on Session Expiry, regardless of how this occurs.
Or
A new flag WillDelay, is sent as a CONNECT optional value. If absent the will message is sent on network disconnection where no DISCONNECT packet is processed as today. If present the Will message is sent after the specified interval so long as no new CONNECT is processed first.

The Server retains knowledge of the Session for the duration of Session Expiry, even if the Session Contains no Messages or Subscriptions.



> Simplified State Management
> ---------------------------
>
>                 Key: MQTT-263
>                 URL: https://issues.oasis-open.org/browse/MQTT-263
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Improvement
>          Components: futures
>    Affects Versions: 5
>            Reporter: Peter Niblett
>
> There could be some more things we do in CONNECT and DISCONNECT to make it easier for client applications to manage stateful Sessions. For example we could consider an option on DISCONNECT that requests an immediate destruction of server state (e.g. pending messages and subscriptions)



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]