33 return m_name == other.m_name && m_value == other.m_value;
56 const aws_mqtt5_packet_publish_view &raw_options,
129 PublishPacket &WithMessageExpiryIntervalSec(uint32_t second) noexcept;
204 bool initializeRawOptions(aws_mqtt5_packet_publish_view &raw_options) noexcept;
214 const ByteCursor &getPayload() const noexcept;
225 Mqtt5::
QOS getQOS() const noexcept;
236 bool getRetain() const noexcept;
246 const Crt::
String &getTopic() const noexcept;
273 const Crt::
Optional<uint32_t> &getMessageExpiryIntervalSec() const noexcept;
285 const Crt::
Optional<uint16_t> &getTopicAlias() const noexcept;
319 const Crt::
Vector<uint32_t> &getSubscriptionIdentifiers() const noexcept;
405 Crt::
Optional<uint32_t> m_messageExpiryIntervalSec;
415 Crt::
Optional<uint16_t> m_topicAlias;
455 Crt::
Vector<uint32_t> m_subscriptionIdentifiers;
469 ByteBuf m_correlationDataStorage;
470 Crt::
String m_responseTopicString;
471 struct aws_mqtt5_user_property *m_userPropertiesStorage;
491 const aws_mqtt5_negotiated_settings &negotiated_settings,
503 uint32_t getSessionExpiryIntervalSec()
const noexcept;
509 uint16_t getReceiveMaximumFromServer()
const noexcept;
517 uint32_t getMaximumPacketSizeBytes()
const noexcept;
522 uint32_t getMaximumPacketSizeToServer()
const noexcept;
527 uint16_t getTopicAliasMaximumToServer()
const noexcept;
532 uint16_t getTopicAliasMaximumToClient()
const noexcept;
541 uint16_t getServerKeepAliveSec()
const noexcept;
552 uint16_t getServerKeepAlive()
const noexcept;
557 bool getRetainAvailable()
const noexcept;
562 bool getWildcardSubscriptionsAvailable()
const noexcept;
567 bool getSubscriptionIdentifiersAvailable()
const noexcept;
572 bool getSharedSubscriptionsAvailable()
const noexcept;
577 bool getRejoinedSession()
const noexcept;
599 Mqtt5::
QOS m_maximumQOS;
604 uint32_t m_sessionExpiryIntervalSec;
609 uint16_t m_receiveMaximumFromServer;
614 uint32_t m_maximumPacketSizeBytes;
619 uint16_t m_topicAliasMaximumToServer;
624 uint16_t m_topicAliasMaximumToClient;
631 uint16_t m_serverKeepAliveSec;
636 bool m_retainAvailable;
641 bool m_wildcardSubscriptionsAvailable;
646 bool m_subscriptionIdentifiersAvailable;
651 bool m_sharedSubscriptionsAvailable;
656 bool m_rejoinedSession;
698 ConnectPacket &WithKeepAliveIntervalSec(uint16_t keepAliveInteralSeconds) noexcept;
751 ConnectPacket &WithSessionExpiryIntervalSec(uint32_t sessionExpiryIntervalSeconds) noexcept;
765 ConnectPacket &WithRequestResponseInformation(
bool requestResponseInformation) noexcept;
779 ConnectPacket &WithRequestProblemInformation(
bool requestProblemInformation) noexcept;
792 ConnectPacket &WithReceiveMaximum(uint16_t receiveMaximum) noexcept;
804 ConnectPacket &WithMaximumPacketSizeBytes(uint32_t maximumPacketSizeBytes) noexcept;
819 ConnectPacket &WithWillDelayIntervalSec(uint32_t willDelayIntervalSeconds) noexcept;
832 ConnectPacket &WithWill(std::shared_ptr<PublishPacket> will) noexcept;
884 uint16_t getKeepAliveIntervalSec() const noexcept;
898 const Crt::
String &getClientId() const noexcept;
932 const Crt::
Optional<uint32_t> &getSessionExpiryIntervalSec() const noexcept;
944 const Crt::
Optional<
bool> &getRequestResponseInformation() const noexcept;
956 const Crt::
Optional<
bool> &getRequestProblemInformation() const noexcept;
967 const Crt::
Optional<uint16_t> &getReceiveMaximum() const noexcept;
980 const Crt::
Optional<uint32_t> &getMaximumPacketSizeBytes() const noexcept;
991 const Crt::
Optional<uint32_t> &getMaximumPacketSizeToServer() const noexcept;
1005 const Crt::
Optional<uint32_t> &getWillDelayIntervalSec() const noexcept;
1037 bool initializeRawOptions(aws_mqtt5_packet_connect_view &raw_options,
Allocator *allocator) noexcept;
1058 uint16_t m_keepAliveIntervalSec;
1097 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1107 Crt::
Optional<
bool> m_requestResponseInformation;
1116 Crt::
Optional<
bool> m_requestProblemInformation;
1125 Crt::
Optional<uint16_t> m_receiveMaximum;
1134 Crt::
Optional<uint32_t> m_maximumPacketSizeBytes;
1145 Crt::
Optional<uint32_t> m_willDelayIntervalSeconds;
1167 struct aws_byte_cursor m_usernameCursor;
1168 struct aws_byte_buf m_passowrdStorage;
1169 struct aws_mqtt5_packet_publish_view m_willStorage;
1170 struct aws_mqtt5_user_property *m_userPropertiesStorage;
1171 uint8_t m_requestResponseInformationStorage;
1172 uint8_t m_requestProblemInformationStorage;
1183 const aws_mqtt5_packet_connack_view &packet,
1197 bool getSessionPresent() const noexcept;
1219 const Crt::
Optional<uint32_t> &getSessionExpiryIntervalSec() const noexcept;
1233 const Crt::
Optional<uint32_t> &getSessionExpiryInterval() const noexcept;
1245 const Crt::
Optional<uint16_t> &getReceiveMaximum() const noexcept;
1255 const Crt::
Optional<
QOS> &getMaximumQOS() const noexcept;
1266 const Crt::
Optional<
bool> &getRetainAvailable() const noexcept;
1277 const Crt::
Optional<uint32_t> &getMaximumPacketSize() const noexcept;
1288 const Crt::
Optional<
String> &getAssignedClientIdentifier() const noexcept;
1298 const Crt::
Optional<uint16_t> getTopicAliasMaximum() const noexcept;
1329 const Crt::
Optional<
bool> &getWildcardSubscriptionsAvailable() const noexcept;
1340 const Crt::
Optional<
bool> &getSubscriptionIdentifiersAvailable() const noexcept;
1351 const Crt::
Optional<
bool> &getSharedSubscriptionsAvailable() const noexcept;
1362 const Crt::
Optional<uint16_t> &getServerKeepAliveSec() const noexcept;
1374 const Crt::
Optional<uint16_t> &getServerKeepAlive() const noexcept;
1385 const Crt::
Optional<
String> &getResponseInformation() const noexcept;
1398 const Crt::
Optional<
String> &getServerReference() const noexcept;
1413 bool m_sessionPresent;
1430 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1439 Crt::
Optional<uint16_t> m_receiveMaximum;
1455 Crt::
Optional<
bool> m_retainAvailable;
1464 Crt::
Optional<uint32_t> m_maximumPacketSize;
1481 Crt::
Optional<uint16_t> m_topicAliasMaximum;
1498 Crt::
Optional<
bool> m_wildcardSubscriptionsAvailable;
1507 Crt::
Optional<
bool> m_subscriptionIdentifiersAvailable;
1516 Crt::
Optional<
bool> m_sharedSubscriptionsAvailable;
1525 Crt::
Optional<uint16_t> m_serverKeepAliveSec;
1564 const aws_mqtt5_packet_disconnect_view &raw_options,
1569 bool initializeRawOptions(aws_mqtt5_packet_disconnect_view &raw_options) noexcept;
1593 DisconnectPacket &WithSessionExpiryIntervalSec(
const uint32_t sessionExpiryIntervalSeconds) noexcept;
1675 const Crt::
Optional<uint32_t> &getSessionExpiryIntervalSec() const noexcept;
1685 const Crt::
Optional<Crt::
String> &getReasonString() const noexcept;
1698 const Crt::
Optional<Crt::
String> &getServerReference() const noexcept;
1735 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1766 struct aws_byte_cursor m_reasonStringCursor;
1767 struct aws_byte_cursor m_serverReferenceCursor;
1768 struct aws_mqtt5_user_property *m_userPropertiesStorage;
1779 const aws_mqtt5_packet_puback_view &packet,
1802 const Crt::
Optional<Crt::
String> &getReasonString() const noexcept;
1879 std::shared_ptr<IPacket>
getAck()
const {
return m_ack; };
1950 Subscription &WithRetainAsPublished(
bool retain) noexcept;
1978 bool initializeRawOptions(aws_mqtt5_subscription_view &raw_options)
const noexcept;
1995 Crt::
String m_topicFilter;
2021 bool m_retainAsPublished;
2088 SubscribePacket &WithSubscriptionIdentifier(uint32_t subscriptionIdentifier) noexcept;
2117 bool initializeRawOptions(aws_mqtt5_packet_subscribe_view &raw_options) noexcept;
2143 Crt::
Optional<uint32_t> m_subscriptionIdentifier;
2156 struct aws_mqtt5_subscription_view *m_subscriptionViewStorage;
2157 struct aws_mqtt5_user_property *m_userPropertiesStorage;
2168 const aws_mqtt5_packet_suback_view &packet,
2302 bool initializeRawOptions(aws_mqtt5_packet_unsubscribe_view &raw_options) noexcept;
2332 struct aws_array_list m_topicFiltersList;
2333 struct aws_mqtt5_user_property *m_userPropertiesStorage;
2344 const aws_mqtt5_packet_unsuback_view &packet,