This structure encapsulates a MQTT message.
int q = 0
const std::string & p,
const std::vector < char > & p,
std::vector < char > binaryPayload;
Alternative binary payload, considered if payload is empty.
The payload of the MQTT message.
The quality of service (QoS) assigned to the message. There are three levels of QoS:
- 0: Fire and forget - the message may not be delivered.
- 1: At least once - the message will be delivered, but may be delivered more than once in some circumstances.
- 2: Once and one only - the message will be delivered exactly once.
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.