MQTT C Client Libraries Internals: MQTTClient_message Struct Reference

| MQTT C Client Libraries Internals

Data Fields
MQTTClient_message Struct Reference

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

`#include <MQTTClient.h>`

Collaboration diagram for MQTTClient_message:
[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 normally reserved for internal use by the MQTT client and server.
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 MQTTClient_publishMessage(), MQTTClient_publish(), MQTTClient_receive(), MQTTClient_freeMessage() and MQTTClient_messageArrived()).

## Field Documentation

## ◆ dup

int MQTTClient_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.

## ◆ qos

int MQTTClient_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 MQTTClient_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 MQTTClient_message::struct_id[4]

The eyecatcher for this structure.

must be MQTM.

## ◆ struct_version

int MQTTClient_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:

- MQTTClient.h