Subject: | |
From: | |
Reply To: | |
Date: | Tue, 8 Nov 2016 20:22:36 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Hello list,
I am trying to wrap my head around the serialization negotiation in MQTT
as described in TS 0010, section 6.5.3. The section in question states
that '[t]he request primitive can contain an additional parameter called
xM2M-Accept which indicates the serialization format that the Originator
is prepared to accept in a Response,' yet greatly fails to explain how
and where to transmit said parameter.
Since this is clearly meta-data, it would make sense to set a header in
the request akin to HTTP's Accept header [1]. However, the MQTT protocol
specification allows for no place to insert application-specific headers
in PUBLISH packets [2]. Instead, MQTT is relying on communicating peers
to have agreed upon an interchange format priorly.
Placing the parameter as some sort of stowaway into the body of the
PUBLISH message is not only an unclean solution but poses the very real
danger of breaking the grammar of whatever structured data is being
transmitted.
The latest iteration of TS 0010 is addressing the problem in an entirely
different fashion by coding the serialization format into topic names as
per section 6.5.4. However, 'xM2M-Accept' is still being mentioned
without further clarification.
It will be greatly appreciated if anyone could shed some light on this.
Best Regards,
Stephan Hohmann
Fraunhofer FOKUS
[1] Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
Section 5.3.2: Content Negotiation – Accept Header
<https://tools.ietf.org/html/rfc7231#section-5.3.2>
[2] MQTT Version 3.1.1
Section 3.3 – PUBLISH Packet
<http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Toc442180850>
########################################################################
To unsubscribe from the oneM2M_TechQuestions list, click the following link:
http://list.etsi.org/scripts/wa.exe?SUBED1=oneM2M_TechQuestions&A=1
|
|
|