The last field in the Variable header of SUBSCRIBE
packet is a set of Properties.
A set contains a Property Length followed by the Properties. A Property consists
of an Identifier and a value.
This section lists all possible SUBSCRIBE
Properties and describes
their usage:
Table 1.12. SUBSCRIBE properties
Identifier |
Value type |
Description |
---|---|---|
subscription_identifier |
|
Identifier of the Subscription in range of 1 to 268,435,455. |
user_property |
|
Name, value pair ( |
After obtaining an instance of async_mqtt5::subscribe_props
,
the subscript operator can be used to access a Property.
The Identifiers listed in the table above are available within the async_mqtt5::prop
namespace for Property access.
![]() |
Note |
---|---|
When accessing a property value, the subscript operator will return a
|
The following example shows how to set a Property value:
async_mqtt5::subscribe_props props; props[async_mqtt5::prop::subscription_identifier] = 1234; props[async_mqtt5::prop::user_property].emplace_back("name", "value");
The following example shows how to retrieve a Property value:
async_mqtt5::prop::subscription_identifiers sub_id = props[async_mqtt5::prop::subscription_identifier]; if (sub_id.has_value()) // subscription identifier property was previously set else // subscription identifier property was not set std::vector<std::pair<std::string, std::string>>& user_props = props[async_mqtt5::prop::user_property]; if (!user_props.empty()) // user property was previously set else // user property was not set