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-16) Reserve $SYS topic name

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

Raphael Cohen commented on MQTT-16:

If we are going to reserve a special leading character  then I'd very strongly suggest it is a non-Basic Multilingual Plane / Private Use Areas character or an ASCII C0/C1 control code. We should also be aware that not all brokers would interpret messages in a topic space before doing routing.

Why? Because the chances of collision with any existing protocol, future binding, or weird potential use case (eg routing bash environment variable syntax, for want of something strange, or a simple set-up that uses currency symbols as an abbreviation for topic spaces) isn't affected. Picking a character in the standard printable US-ASCII or Latin-1 range is just prone to trouble and we can't have much control.

Yep, that "breaks" some existing implementations that use $SYS, but that's always been pretty non-standard, in any event, and we're going to have a protocol level change in the spec. Existing implementations can simply implement a filter rule that varies depending on use of 3.1 or 3.1.1.

So some suggestions:-
C1, Private Use One (PU1) or Two (PU2), as defined in ECMA-48
PUA, ? difficult, as we want to avoid de facto users, eg CNS 11643

My preference is to use PU1. It's what it's there for.

I'm not persuaded at the moment to define a MQTT namespace inside the reserved topic, but that's something we can leave until a later date if we decide on the reservation character. Like Alex originally said, this can be a lengthy discussion and I'm keen we do the absolute minimum.

> Reserve $SYS topic name
> -----------------------
>                 Key: MQTT-16
>                 URL: http://tools.oasis-open.org/issues/browse/MQTT-16
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 3.1.1
>            Reporter: David Locke
>             Fix For: 3.1.1
> Many MQTT implementations today use $SYS as the head of a topic string for use in administration  (configuration, operations, monitoring).   
> Can the $SYS or a similar topic name be reserved for future use ?   As $SYS is already used by a number of servers using a different top level topic would avoid conflicts. 
> Would be good to collect ideas for a $SYS topic space.  These ideas could initially go into a non-normative document but with potential for inclusion in a future spec.  The intent being servers can implement  some aspects of administration and monitoring in a consistent way
> Some examples:
> - Admin action like "unretain" a retained topic   e.g. $SYS/topic/unretain    (payload is the topic to unretain)
> - Client wishes to query what subscriptions it has made    e.g. $SYS/client/getsubs  (topic is clientid)
> - Client wishes to query how many messages are queued up awaiting delivery e.g. $SYS/client/getNoQueuedMessages  
> - Query the  state of the MQTT server e.g. $SYS/server/getStatus 
> These examples should not be taken literally they are purely to show the type of things a $SYS topic space could be used for.

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]