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] Commented: (MQTT-103) Normative meaning of Keep Alive = 0

    [ http://tools.oasis-open.org/issues/browse/MQTT-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35917#action_35917 ] 

Peter Niblett commented on MQTT-103:

Discussion on today's call concluded

1. We should try to get some more precise wording

2. A Server should be permitted to terminate a client's connection on the grounds of inactivity at any time, regardless of the keepalive value set by the client. 


3. A Non-zero keepalive means that the client has asked the server to terminate its connection after the specified period of inactivity (plus the grace period) and a server is required to do this

4. A zero keepalive just means that the client hasn't specified an inactivity timeout. As in point 2, the server is entitled to impose its own inactivity timeouts or it could choose not to timeout any or all of its clients.

I will convert this into a proposal

> Normative meaning of Keep Alive = 0
> -----------------------------------
>                 Key: MQTT-103
>                 URL: http://tools.oasis-open.org/issues/browse/MQTT-103
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Improvement
>          Components: core
>            Reporter: Peter Niblett
>            Priority: Minor
> The specification currently says "A Keep Alive value of zero (0) has the effect of turning off the keep alive mechanism", but we have no numbered normative statement assigned to that.  I think we should have one - but that means we have to be more precise about what we mean by Keep Alive of 0. 
> I assume we would want Server administrators to be able to terminate connections to Clients at any time, regardless of whether keep alive intervals have expired or not, so we need to make sure that the wording does not preclude this.
> Would we want a Server to be able to terminate the connection to a Keep Alive = 0 client that does not send QoS 1 or QoS 2 acknowledgements? 
> Assuming the answer is no, here are some suggestions
> a) The Server MUST NOT disconnect the Client on the grounds of inactivity
> b) The Server MUST NOT disconnect a Client which fails to send control packets regularly
> c) A client can keep its Network Connection open for an indefinite period of time without sending any control packets. A Server MUST NOT disconnect a Client for doing this.
> If we want to allow the Server to enforce its own timeout on PUBACK / PUBCMP then  we could use a sentence similar to the one above but either
> i) Make the MUST NOT into a SHOULD NOT
> ii) Change "Control Packet" into "PUBLISH packet"

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


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