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-612) Publish does not allow topic registration


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

Davide Lenzarini commented on MQTT-612:
---------------------------------------

[~ian.craggs]

I agree for PUBLISH (QoS 0 or 1 or 2) packets

For PUBLISH-1 and PUBLISH OUT OF SESSION packets:
 * _"__The receiver processes the PUBLISH as normal but also sets the specified Topic Alias mapping to this Topic Name.__"_
 ** How it possible is the session has not been established?
 * "_a sender can send a PUBLISH packet that contains that Topic Alias and a zero length Topic Name_"
 ** In the PUBLISH packets it is never required to send a zero length Topic Name, right? In fact Topic Length and Topic Alias are alternative fields, right?

Â

> Publish does not allow topic registration
> -----------------------------------------
>
>                 Key: MQTT-612
>                 URL: https://issues.oasis-open.org/browse/MQTT-612
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Task
>          Components: MQTT-SN
>    Affects Versions: MQTT-SN-1.2
>            Reporter: Ian Craggs
>            Priority: Major
>
> When using subscribe, an implicit registration of a topic alias is done (if the topic filter contains no wildcards). This is not done for publish, where a REGISTER must be used beforehand.
> In MQTT 5, topic alias registration is done with a publish. If we allow topic registration on a publish (not QoS -1), we will be aligning with MQTT 5, and reducing the need for using REGISTER/REGACK exchanges.
> Note that MQTT 5 states:
> _The Topic Alias mappings used by the Client and Server are independent from each other. Thus, when a Client sends a PUBLISH containing a Topic Alias value of 1 to a Server and the Server sends a PUBLISH with a Topic Alias value of 1 to that Client they will in general be referring to different Topics._
> I believe we should adopt the same approach in MQTT-SN (it's not clear from the 1.2 specification). That would mean changing the PUBLISH packet to always include both topic alias and topic length fields, using them in the same manner as MQTT 5. Specifically this:
> _The sender decides whether to use a Topic Alias and chooses the value. It sets a Topic Alias mapping by including a non-zero length Topic Name and a Topic Alias in the PUBLISH packet. The receiver processes the PUBLISH as normal but also sets the specified Topic Alias mapping to this Topic Name._
> Â_If a Topic Alias mapping has been set at the receiver, a sender can send a PUBLISH packet that contains that Topic Alias and a zero length Topic Name. The receiver then treats the incoming PUBLISH as if it had contained the Topic Name of the Topic Alias._
> Â



--
This message was sent by Atlassian Jira
(v8.3.3#803004)


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