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] Updated: (MQTT-16) Reserve $SYS topic name

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

David Locke updated MQTT-16:

Topics beginning with $
  1. Applications SHOULD NOT define any topic names that start with a leading $ character
  2. MQTT server implementations MAY define topic names that start with a leading $ character

    $SYS/ has been widely adopted as a prefix to topics that contain server-specific information or control APIs.

Subscription handling
  1. A topic filter that starts with a wildcard character (# or +) does not match topic names that begin with a $ character

  non-normative examples:
  1. A subscription to # will not receive any messages published to a topic beginning with a $
  2. A subscription to +/monitor/clients will not receive any messages published to $SYS/monitor/clients
  3. A subscription to $SYS/# will receive messages published to topics beginning with $SYS/
  4. A subscription to $SYS/monitor/+ will receive messages published to $SYS/monitor/clients
  5. For a client to receive messages from topics that begin with $SYS/ and from topics that don't begin with a $, it must subscribe to both # and $SYS/# 

Reserve $ in the spec and point to an external OASIS MQTT TC owned reference to provide guidance on the topic space. The referenced normative document will reserve $SYS for private use. The TC may develop the external reference further over time to elaborate the $ topic structure. 

This has an impact for subscribe operations. There are at least two options:
(1) If a topic starts with a $, then it's effectively a different topic tree and subscriptions to # do not include $. 
(2) Add non-normative content to subscribe suggesting that a suitable authorization policy may apply to the $ component of the topic tree

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