An authenticate message is sent from the client to the broker or the
broker to the client as part of an extended authentication exchange,
such as challenge / response authentication.
Binary Data is represented by a Two Byte Integer length which indicates the number of data bytes,
followed by that number of bytes. Thus, the length of Binary Data is limited
to the range of 0 to 65,535 Bytes.
Utility class to allow stream like access to a sized byte buffer.
This class is in effect a cut-down implementation of the C# NET
System.IO class with Mqtt client specific extensions.
A client class for interacting with MQTT Data Packets.
Do not instantiate this class directly, instead instantiate
either a MqttClientServer class or an MqttBrowserClient as needed.
This class now provides common functionality between server side
and web based clients.
The Variable Header of the Connect Acknowledgement message contains the following fields
in the order: Connect Acknowledge Flags, Connect Reason Code, and Properties.
Implements keepalive functionality on the Mqtt Connection,
ensuring that the connection remains active according to the
keepalive seconds setting.
This class implements the keepalive by sending an MqttPingRequest
to the broker if a message has not been sent or received
within the keepalive period.
An Mqtt message that is used to initiate a connection to a message broker.
After a network connection is established by a client to a broker, the
first message sent from the client to the broker MUST be a connect
message.
The Variable Header for the connect Packet contains the following fields
in this order: Protocol Name, Protocol Level, Connect Flags,
Keep Alive, and Properties.
The disconnect message is the final MQTT Control Packet sent from the client or the broker.
It indicates the reason why the network connection is being closed.
The client or broker may send a disconnect message before closing the network connection.
Four Byte Integer data values are 32-bit unsigned integers in big-endian order:
the high order byte precedes the successively lower order bytes.
This means that a 32-bit word is presented on the network as
Most Significant Byte (MSB), followed by the next most Significant Byte (MSB),
followed by the next most Significant Byte (MSB), followed by Least Significant
Byte (LSB).
The Variable Header of the publish ack message contains the following fields in the
order: message identifier from the publish message that is being acknowledged,
publish reason code and the properties.
The variable header of the publish complete message contains the following fields
in the order: Packet(message) identifier from the publish release message that is being
acknowledged, reason Code, and properties.
The variable Header of the publish received message contains the following fields in the
order: message identifier from the publish message that is being acknowledged,
publish reason code and the properties.
The variable header of the publish release message contains the following
fields in the order: the message Identifier from the publish receive message
that is being acknowledged, reason code, and properties.
A UTF-8 String Pair consists of two UTF-8 Encoded Strings.
This data type is used to hold name-value pairs. The first string serves as the
name, and the second string contains the value.
The variable header of the subscription acknowledge message contains the following fields
in the order: the packet(message) identifier from the subscribe message that is being acknowledged,
and properties.
The subscribe message is sent from the client to the broker to create one or more subscriptions.
Each subscription registers the client’s interest in one or more topics.
The broker sends publish messagesto the client to forward application messages
that were published to topics that match these subscriptions.
The payload of a subscribe message contains a list of topic filters indicating the
topics to which the client wants to subscribe. Each topic filter is followed by a
subscription options value.
This class allows specific topics to be listened for. It essentially
acts as a bandpass filter for the topics you are interested in if
you subscribe to more than one topic or use wildcard topics.
Simply construct it, and listen to its message stream rather than
that of the client. Note this class will only filter valid receive topics
so if you filter on wildcard topics for instance, which you should only
subscribe to, it will always generate a no match.
Two Byte Integer data values are 16-bit unsigned integers in big-endian order:
the high order byte precedes the lower order byte. This means that a
16-bit word is presented on the network as Most Significant Byte (MSB),
followed by Least Significant Byte (LSB).
The variable header of the unsubscribe acknowledgement message contains the following fields
in the order: packet(message) identifier from the unsubscribe message that is being
acknowledged, and properties.
The Variable Byte Integer is encoded using an encoding scheme which uses a single
byte for values up to 127. Larger values are handled as follows. The least significant
seven bits of each byte encode the data, and the most significant bit is used to
indicate whether there are bytes following in the representation.
Thus, each byte encodes 128 values and a "continuation bit".