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-36) Editorial comments on Connect Payload

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

Rahul Gupta commented on MQTT-36:

Changes done in WD-07

The Client Identifier is always present and is the first field in the payload. 
There is no restriction on the clientId other than it MUST comprise only Unicode characters, and the length of the UTF-8 encoding MUST be at least one byte and no more than 65535 bytes long. 

The server MAY restrict the clientIds it allows in terms of their lengths and the characters they contain, however the server MUST 
allow clientIds which are 23 or fewer UTF-8 encoded bytes in length, and contain only the characters "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".

The Client identifier uniquely identifies the client to the server. This Client Identifier MUST be unique for all clients connecting to the server It is used by both MQTT Client and MQTT Server, as a key to access any state that they hold relating to this MQTT connection between the client and the server.

If the Client ID contains no Unicode characters or more than 65535 Unicode characters, the server MUST respond to the CONNECT packet with a CONNACK return code 0x02 (Identifier rejected) and then terminate the TCP/IP connection if the unique client identifier is not between 1 and 65535 characters in length.. If the Client Identifier represents a client already connected to the server then the server MUST disconnect the existing client before it acknowledges the new MQTT CONNECT packet request. 

Non normative comment.

The Client Identifier might have been presented to the client implementation as a Unicode string which is then transformed into a UTF-8 encoding to write to the network. Any characters comprised of surrogate pairs [RFC2781] still count as a single character towards the maximum of 23 characters. 

> Editorial comments on Connect Payload
> -------------------------------------
>                 Key: MQTT-36
>                 URL: http://tools.oasis-open.org/issues/browse/MQTT-36
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Improvement
>          Components: edits
>            Reporter: Peter Niblett
>            Assignee: Rahul Gupta
>            Priority: Trivial
> 1. I know we provide our definition of "UTF-8 encoded strings in 2.1.3, however readers of the first para of 3.13 (line 667) might not realise this. We should either say "length-prefixed UTF-8 encoded strings" or "UTF-8 encoded strings as defined in 2.1.3". 
> 2. Line 676 says (when talking about the Client Identifier) "It is the key in handling Message Identifiers for messages with QoS levels 1 and 2". The phrase "key in handling" looks a bit odd,  and in any case the Client Id is used as a key to all state held on the server for the client, not just some kind of scoping construct for message Ids.
> 3. Line 677 2 instances of unicode should be Unicode
> 4. Line 684 says "The Client Identifier might have been presented to the client implementation as a Unicode string" and then goes on to talk about surrogate characters.  Surrogate characters are not valid Unicode, so can't appear in a Unicode string.  What you should have said is "The Client Identifier might have been presented to the client implementation as a UTF-16 encoded string [RFC2781]" 

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]