QMqtt Namespace▲
-
Header: QMqtt
-
Since: Qt 5.12
-
qmake: QT += mqtt
Detailed Description▲
Type Documentation▲
[since 5.12] enum QMqtt::MessageStatus▲
This enum type specifies the available states of a message. Depending on the QoS and role of the client, different message statuses are expected.
Constant |
Value |
Description |
---|---|---|
QMqtt::MessageStatus::Unknown |
0 |
The message status is unknown. |
QMqtt::MessageStatus::Published |
1 |
The client received a message for one of its subscriptions. This applies to QoS levels 1 and 2. |
QMqtt::MessageStatus::Acknowledged |
2 |
A message has been acknowledged. This applies to QoS 1 and states that the message handling has been finished from the client side. |
QMqtt::MessageStatus::Received |
3 |
A message has been received. This applies to QoS 2. |
QMqtt::MessageStatus::Released |
4 |
A message has been released. This applies to QoS 2. For a publisher the message handling has been finished. |
QMqtt::MessageStatus::Completed |
5 |
A message has been completed. This applies to QoS 2 and states that the message handling has been finished from the client side. |
This enum was introduced or modified in Qt 5.12.
[since 5.12] enum QMqtt::PayloadFormatIndicator▲
The payload format provides information on the content of a message. This can help other clients to handle the message faster.
Constant |
Value |
Description |
---|---|---|
QMqtt::PayloadFormatIndicator::Unspecified |
0 |
The format is not specified. |
QMqtt::PayloadFormatIndicator::UTF8Encoded |
1 |
The payload of the message is formatted as UTF-8 Encoded Character Data. |
This enum was introduced or modified in Qt 5.12.
[since 5.12] enum QMqtt::ReasonCode▲
This enum type specifies the available error codes.
Constant |
Value |
Description |
---|---|---|
QMqtt::ReasonCode::Success |
0 |
The specified action has succeeded. |
QMqtt::ReasonCode::SubscriptionQoSLevel0 |
0 |
A subscription with QoS level 0 has been created. |
QMqtt::ReasonCode::SubscriptionQoSLevel1 |
0x01 |
A subscription with QoS level 1 has been created. |
QMqtt::ReasonCode::SubscriptionQoSLevel2 |
0x02 |
A subscription with QoS level 2 has been created. |
QMqtt::ReasonCode::NoMatchingSubscriber |
0x10 |
The message has been accepted by the server, but there are no subscribers to receive this message. A broker may send this reason code instead of Success. |
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15) |
0x11 |
No matching Topic Filter is being used by the Client. |
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15) |
0x18 |
Continue the authentication with another step. |
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15) |
0x19 |
Initiate a re-authentication. |
QMqtt::ReasonCode::UnspecifiedError |
0x80 |
An unspecified error occurred. |
QMqtt::ReasonCode::MalformedPacket |
0x81 |
The packet sent to the server is invalid. |
QMqtt::ReasonCode::ProtocolError |
0x82 |
A protocol error has occurred. In most cases, this will cause the server to disconnect the client. |
QMqtt::ReasonCode::ImplementationSpecificError |
0x83 |
The packet is valid, but the recipient rejects it. |
QMqtt::ReasonCode::UnsupportedProtocolVersion |
0x84 |
The requested protocol version is not supported by the server. |
QMqtt::ReasonCode::InvalidClientId |
0x85 |
The client ID is invalid. |
QMqtt::ReasonCode::InvalidUserNameOrPassword |
0x86 |
The username or password specified is invalid. |
QMqtt::ReasonCode::NotAuthorized |
0x87 |
The client is not authorized for the specified action. |
QMqtt::ReasonCode::ServerNotAvailable |
0x88 |
The server to connect to is not available. |
QMqtt::ReasonCode::ServerBusy |
0x89 |
The server to connect to is not available. The client is asked to try at a later time. |
QMqtt::ReasonCode::ClientBanned |
0x8A |
The client has been banned from the server. |
QMqtt::ReasonCode::InvalidAuthenticationMethod |
0x8C |
The authentication method specified is invalid. |
QMqtt::ReasonCode::InvalidTopicFilter |
0x8F |
The topic filter specified is invalid. |
QMqtt::ReasonCode::InvalidTopicName |
0x90 |
The topic name specified is invalid. |
QMqtt::ReasonCode::MessageIdInUse |
0x91 |
The message ID used in the previous packet is already in use. |
QMqtt::ReasonCode::MessageIdNotFound |
0x92 |
The message ID used in the previous packet has not been found. |
QMqtt::ReasonCode::PacketTooLarge |
0x95 |
The packet received is too large. See also QMqttServerConnectionProperties::maximumPacketSize(). |
QMqtt::ReasonCode::QuotaExceeded |
0x97 |
An administratively imposed limit has been exceeded. |
QMqtt::ReasonCode::InvalidPayloadFormat |
0x99 |
The payload format is invalid. See also QMqttPublishProperties::payloadFormatIndicator(). |
QMqtt::ReasonCode::RetainNotSupported |
0x9A |
The server does not support retained messages. See also QMqttServerConnectionProperties::retainAvailable(). |
QMqtt::ReasonCode::QoSNotSupported |
0x9B |
The QoS level requested is not supported. See also QMqttServerConnectionProperties::maximumQoS(). |
QMqtt::ReasonCode::UseAnotherServer |
0x9C |
The server the client tries to connect to is not available. See also QMqttServerConnectionProperties::serverReference(). |
QMqtt::ReasonCode::ServerMoved |
0x9D |
The server the client tries to connect to has moved to a new address. See also QMqttServerConnectionProperties::serverReference(). |
QMqtt::ReasonCode::SharedSubscriptionsNotSupported |
0x9E |
Shared subscriptions are not supported. See also QMqttServerConnectionProperties::sharedSubscriptionSupported(). |
QMqtt::ReasonCode::ExceededConnectionRate |
0x9F |
The connection rate limit has been exceeded. |
QMqtt::ReasonCode::SubscriptionIdsNotSupported |
0xA1 |
Subscription IDs are not supported. See also QMqttServerConnectionProperties::subscriptionIdentifierSupported(). |
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported |
0xA2 |
Subscriptions using wildcards are not supported by the server. See also QMqttServerConnectionProperties::wildcardSupported(). |
Not all values are available in every use case. Especially, some servers will reject a reason code not suited for a specific command. See below table to highlight expected reason codes for specific actions.
Reason Code |
Connect Properties |
Subscription Properties |
Message Properties |
---|---|---|---|
Success |
X |
X |
X |
SubscriptionQoSLevel0 |
X |
||
SubscriptionQoSLevel1 |
X |
||
SubscriptionQoSLevel2 |
X |
||
NoMatchingSubscriber |
X |
||
UnspecifiedError |
X |
X |
X |
MalformedPacket |
X |
||
ProtocolError |
X |
||
ImplementationSpecificError |
X |
X |
X |
UnsupportedProtocolVersion |
X |
||
InvalidClientId |
X |
||
InvalidUserNameOrPassword |
X |
||
NotAuthorized |
X |
X |
X |
ServerNotAvailable |
X |
||
ServerBusy |
X |
||
ClientBanned |
X |
||
InvalidAuthenticationMethod |
X |
||
InvalidTopicFilter |
X |
||
InvalidTopicName |
X |
X |
|
MessageIdInUse |
X |
X |
|
MessageIdNotFound |
X |
||
PacketTooLarge |
X |
||
QuotaExceeded |
X |
X |
X |
InvalidPayloadFormat |
X |
X |
|
RetainNotSupported |
X |
||
QoSNotSupported |
X |
||
UseAnotherServer |
X |
||
ServerMoved |
X |
||
SharedSubscriptionsNotSupported |
X |
||
ExceededConnectionRate |
X |
||
SubscriptionIdsNotSupported |
X |
||
WildCardSubscriptionsNotSupported |
X |
This enum was introduced or modified in Qt 5.12.