Man page improvements - document MQTT support.

pull/2215/head
Roger A. Light 4 years ago
parent b6187c8880
commit 99833795f2

@ -39,12 +39,12 @@
<term><option>-c</option></term> <term><option>-c</option></term>
<term><option>--config-file</option></term> <term><option>--config-file</option></term>
<listitem> <listitem>
<para> <para>
Load configuration from a file. If not given, then the broker will listen on port 1883 bound to the loopback interface, Load configuration from a file. If not given, then the broker will listen on port 1883 bound to the loopback interface,
and the default values as described in and the default values as described in
<citerefentry><refentrytitle><link xlink:href="mosquitto_conf-5.html">mosquitto.conf</link></refentrytitle><manvolnum>5</manvolnum></citerefentry> <citerefentry><refentrytitle><link xlink:href="mosquitto_conf-5.html">mosquitto.conf</link></refentrytitle><manvolnum>5</manvolnum></citerefentry>
are used. are used.
</para> </para>
<important><para>See the <option>-p</option> option for a description of changes in behaviour from 1.6.x to 2.0.</para></important> <important><para>See the <option>-p</option> option for a description of changes in behaviour from 1.6.x to 2.0.</para></important>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -91,6 +91,231 @@
</para> </para>
</refsect1> </refsect1>
<refsect1>
<title>MQTT Support</title>
<para>Mosquitto supports MQTT v5.0, v3.1.1, and v3.1.</para>
<refsect2>
<title>MQTT v5.0</title>
<para>
Mosquitto provides full MQTT v5.0 support, but some features
are not used directly. The following sections describe the new
features and explain where Mosquitto does not make use of a feature.
</para>
<refsect3>
<title>Features</title>
<variablelist>
<varlistentry>
<term><option>Enhanced authentication</option></term>
<listitem><para>
Basic MQTT authentication uses username/password
checks. Enhanced authentication allows different
authentication schemes to be integrated into MQTT,
and even those schemes with multiple step processes.
Clients request a particular type of authentication
and if the broker is configured for that scheme the
authentication continues. Mosquitto supports
enhanced authentication through plugins.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>Error handling</option></term>
<listitem><para>
Most MQTT packets now have the concept of a
<option>reason code</option>
which indicates success or failure, and what the failure
was. Mosquitto provides full support for reason codes,
but does not make use of the
<option>reason string</option>
feature which can be used to provide a human readable
error string to explain the reason code.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>Flow control</option></term>
<listitem><para>
The number of "in flight" messages for QoS 1 and QoS
2 can be controlled by both the client and the
broker.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>Request / response</option></term>
<listitem><para>
MQTT v5.0 adds a request/response pattern that
allows a client to publish a message and instruct
the subscribers of that message where to publish a
response.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>Server redirection</option></term>
<listitem><para>
Server redirection is the concept of telling a
client to connect to a different MQTT broker, either
on CONNECT or with a broker initiated DISCONNECT.
Mosquitto does not currently make use of this
feature.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>Shared subscriptions</option></term>
<listitem><para>
When multiple clients subscribe to the same shared
subscription, only one client out of the group will
receive each message which allows for distributing
work loads.
</para></listitem>
</varlistentry>
</variablelist>
</refsect3>
<refsect3>
<title>Packet properties</title>
<para>
MQTT v5.0 allows properties to be added to packets to
control certain behaviour. Unless noted, Mosquitto
support the properties listed below.
</para>
<variablelist>
<varlistentry>
<term><option>CONNECT</option></term>
<listitem>
<itemizedlist>
<listitem><para>Authentication data</para></listitem>
<listitem><para>Authentication method</para></listitem>
<listitem><para>Maximum packet size</para></listitem>
<listitem><para>Receive maximum</para></listitem>
<listitem><para>Request problem information - supported but not used</para></listitem>
<listitem><para>Request response information - supported but not used</para></listitem>
<listitem><para>Session expiry interval</para></listitem>
<listitem><para>Topic alias maximum</para></listitem>
<listitem><para>User property</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>Last will and testament</option></term>
<listitem>
<itemizedlist>
<listitem><para>Content type</para></listitem>
<listitem><para>Correlation data</para></listitem>
<listitem><para>Message expiry interval</para></listitem>
<listitem><para>Payload format indicator</para></listitem>
<listitem><para>Response topic</para></listitem>
<listitem><para>User property</para></listitem>
<listitem><para>Will delay interval</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>CONNACK</option></term>
<listitem>
<itemizedlist>
<listitem><para>Assigned client identifier</para></listitem>
<listitem><para>Authentication data</para></listitem>
<listitem><para>Authentication method</para></listitem>
<listitem><para>Maximum packet size</para></listitem>
<listitem><para>Maximum qos</para></listitem>
<listitem><para>Reason string - supported but not used</para></listitem>
<listitem><para>Receive maximum</para></listitem>
<listitem><para>Response information - supported but not used</para></listitem>
<listitem><para>Retain available</para></listitem>
<listitem><para>Server keep alive</para></listitem>
<listitem><para>Server reference - supported but not used</para></listitem>
<listitem><para>Session expiry interval</para></listitem>
<listitem><para>Shared subscription available</para></listitem>
<listitem><para>Subscription identifiers available</para></listitem>
<listitem><para>Topic alias maximum</para></listitem>
<listitem><para>User property</para></listitem>
<listitem><para>Wildcard subscription available</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>PUBLISH</option></term>
<listitem>
<itemizedlist>
<listitem><para>Content type</para></listitem>
<listitem><para>Correlation data</para></listitem>
<listitem><para>Message expiry interval</para></listitem>
<listitem><para>Payload format indicator</para></listitem>
<listitem><para>Response topic</para></listitem>
<listitem><para>Subscription identifier</para></listitem>
<listitem><para>Topic alias</para></listitem>
<listitem><para>User property</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>PUBACK / PUBREC / PUBREL / PUBCOMP / SUBACK / SUBSCRIBE / SUBACK</option></term>
<listitem>
<itemizedlist>
<listitem><para>Reason string - supported but not used</para></listitem>
<listitem><para>User property</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>SUBSCRIBE</option></term>
<listitem>
<itemizedlist>
<listitem><para>Subscription identifier</para></listitem>
<listitem><para>User property</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>DISCONNECT</option></term>
<listitem>
<itemizedlist>
<listitem><para>Reason string - supported but not used</para></listitem>
<listitem><para>Server reference - supported but not used</para></listitem>
<listitem><para>Session expiry interval</para></listitem>
<listitem><para>User property</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><option>AUTH</option></term>
<listitem>
<itemizedlist>
<listitem><para>Authentication method</para></listitem>
<listitem><para>Authentication data</para></listitem>
<listitem><para>Reason string - supported but not used</para></listitem>
<listitem><para>User property</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>
</refsect3>
</refsect2>
<refsect2>
<title>MQTT v3.1.1</title>
<para>Mosquitto provides full MQTT v3.1.1 support.</para>
</refsect2>
<refsect2>
<title>MQTT v3.1</title>
<para>Mosquitto provides full MQTT v3.1 support.</para>
</refsect2>
<refsect2>
<title>MQTT v3</title>
<para>
MQTT v3 is an obsolete version of the protocol that does not
support username/password authentication and used the
<option>clean start</option> flag in the CONNECT packet which
applied only to the start of a session. An MQTT v3 client
will be able to successfully connect to a Mosquitto instance
that does not require authentication.
</para>
</refsect2>
</refsect1>
<refsect1> <refsect1>
<title>Broker Status</title> <title>Broker Status</title>
<para>Clients can find information about the broker by subscribing to <para>Clients can find information about the broker by subscribing to
@ -331,21 +556,21 @@
<para>The total number of retained messages active on the broker.</para> <para>The total number of retained messages active on the broker.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>$SYS/broker/store/messages/count</option></term> <term><option>$SYS/broker/store/messages/count</option></term>
<term><option>$SYS/broker/messages/stored</option> (deprecated)</term> <term><option>$SYS/broker/messages/stored</option> (deprecated)</term>
<listitem> <listitem>
<para>The number of messages currently held in the message <para>The number of messages currently held in the message
store. This includes retained messages and messages store. This includes retained messages and messages
queued for durable clients.</para> queued for durable clients.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>$SYS/broker/store/messages/bytes</option></term> <term><option>$SYS/broker/store/messages/bytes</option></term>
<listitem> <listitem>
<para>The number of bytes currently held by message payloads <para>The number of bytes currently held by message payloads
in the message store. This includes retained messages in the message store. This includes retained messages
and messages queued for durable clients.</para> and messages queued for durable clients.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>

Loading…
Cancel
Save