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-491) Wording of 3.3.1.3 RETAIN


    [ https://issues.oasis-open.org/browse/MQTT-491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=66821#comment-66821 ] 

Peter Niblett commented on MQTT-491:
------------------------------------

a). I don't think it is a good idea to have a sentence that makes an unequivocal statement at one point in the document, and then another sentence that modifies - it appearing somewhere else not contiguous with the first one.  Also in this case the "modification" could completely negate the first sentence i.e. no retained messages are sent. It would be clearer to say "When a new Non-Shared Subscription is established, the last retained message, if any, on each matching topic name is sent to the Client, subject to the behaviour specified by the Retain Handling Subscription Option.

b) My point was that the sentence I mentioned in a)  refers to the Retain Handling Subscription option, and it's more natural to have the bulleted list at this point, as that describes the behavior that's required by each of these Retain Handling Subscription Options.  

c) This isn't fixed in the version of wd15 that I am looking at. This says "If Retain Handling is set to 1 and the subscription did not already exist, the Server MUST send all retained message matching the Topic Filter of the subscription to the Client [MQTT-3.3.1-10]."

d) It's the phrase "retained messages at the time of the subscribe" (which occurs in several places) that I have difficulty with. It's a bit awkward, but  saying that "the Server MUST NOT send retained messages at the time of the subscribe" is ambiguous as it could be interpeted to say that it's ok to send them AFTER the subscribe. 
 
There's a more serious thing that I have noticed, coming out of a).  I was genuinely misled by the description of Retain As Published in this section, as when I read it (and 3.8.3.1) I thought it applied to all Retained Messages. I now see that it doesn't apply to "retained messages at the time of the subscribe". The reason for my confusion is that you seem to be using the term "Application Message" to refer to a message that's received not as a result of it being a "retained messages at the time of the subscribe", but that subtlety is not reflected in the definition in 1.2 : "The data carried by the MQTT protocol across the network for the application". According to thist definition the retained messages are also Application Messages. 

> Wording of 3.3.1.3 RETAIN
> -------------------------
>
>                 Key: MQTT-491
>                 URL: https://issues.oasis-open.org/browse/MQTT-491
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Improvement
>          Components: edits
>    Affects Versions: 5, CSD01
>            Reporter: Peter Niblett
>            Assignee: Ken Borgendale
>            Priority: Minor
>             Fix For: 5
>
>
> The wording of some of the paragraphs in this section is a bit confusing (and has grammar errors)
> a) There are sentences which say "When a new Non-Shared Subscription is established, the last retained message, if any, on each matching topic name are sent to the Client.  These messages are sent with the RETAIN flag set to 1."  Neither of these statements is necessarily true as the behaviour now depends on the value of Retain Handling. Also "are sent" should be "is sent"
> b) These sentences are followed by  "Which retained messages are sent is controlled by the Retain Handling Subscription Option. Refer to section 3.8.3.1 for a definition of the Subscription Options." This is ok, except that they are immediately followed by a bulleted list describing the Retain Handling Subscription Option. It would flow better if "Refer to section 3.8.3.1 for a definition of the Subscription Options." were moved to after the bulletted list
> c) Second item in the bulleted list is "•	If Retain Handling is set to 1 and the subscription did not already exist, the Server MUST send all retained message matching the Topic Filter of the subscription to the Client [MQTT-3.3.1-10]." In this sentence "message" should be "messages".
> d) Third item in the bulleted list is "•	If Retain Handling is set to 2, the Server MUST NOT send retained messages at the time of the subscribe [MQTT-3.3.1-11]."  This is ambiguous. I think what it is trying to say is "MUST NOT send retained messages as a result of the subscription" or something like that.
> e) Also in 3.3.3.2.4 it says "If a Server receives a CONNECT packet containing a Will Message with the Will Retain 1, and it does not support retained publications..."  In most other places we talk about "retained messages" not "retained publications".



--
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]