MQTT C Client Libraries Internals
Data Fields
MQTTAsync_message Struct Reference

A structure representing the payload and attributes of an MQTT message. More...

#include <MQTTAsync.h>

Collaboration diagram for MQTTAsync_message:
Collaboration graph
[legend]

Data Fields

char struct_id [4]
 The eyecatcher for this structure. More...
 
int struct_version
 The version number of this structure. More...
 
int payloadlen
 The length of the MQTT message payload in bytes.
 
void * payload
 A pointer to the payload of the MQTT message.
 
int qos
 The quality of service (QoS) assigned to the message. More...
 
int retained
 The retained flag serves two purposes depending on whether the message it is associated with is being published or received. More...
 
int dup
 The dup flag indicates whether or not this message is a duplicate. More...
 
int msgid
 The message identifier is reserved for internal use by the MQTT client and server. More...
 
MQTTProperties properties
 The MQTT V5 properties associated with the message.
 

Detailed Description

A structure representing the payload and attributes of an MQTT message.

The message topic is not part of this structure (see MQTTAsync_publishMessage(), MQTTAsync_publish(), MQTTAsync_receive(), MQTTAsync_freeMessage() and MQTTAsync_messageArrived()).

Field Documentation

◆ dup

int MQTTAsync_message::dup

The dup flag indicates whether or not this message is a duplicate.

It is only meaningful when receiving QoS1 messages. When true, the client application should take appropriate action to deal with the duplicate message. This is an output parameter only.

◆ msgid

int MQTTAsync_message::msgid

The message identifier is reserved for internal use by the MQTT client and server.

It is an output parameter only - writing to it will serve no purpose. It contains the MQTT message id of an incoming publish message.

◆ qos

int MQTTAsync_message::qos

The quality of service (QoS) assigned to the message.

There are three levels of QoS:

QoS0
Fire and forget - the message may not be delivered
QoS1
At least once - the message will be delivered, but may be delivered more than once in some circumstances.
QoS2
Once and one only - the message will be delivered exactly once.

◆ retained

int MQTTAsync_message::retained

The retained flag serves two purposes depending on whether the message it is associated with is being published or received.

retained = true
For messages being published, a true setting indicates that the MQTT server should retain a copy of the message. The message will then be transmitted to new subscribers to a topic that matches the message topic. For subscribers registering a new subscription, the flag being true indicates that the received message is not a new one, but one that has been retained by the MQTT server.

retained = false
For publishers, this indicates that this message should not be retained by the MQTT server. For subscribers, a false setting indicates this is a normal message, received as a result of it being published to the server.

◆ struct_id

char MQTTAsync_message::struct_id[4]

The eyecatcher for this structure.

must be MQTM.

◆ struct_version

int MQTTAsync_message::struct_version

The version number of this structure.

Must be 0 or 1. 0 indicates no message properties


The documentation for this struct was generated from the following file: