56 const aws_mqtt5_packet_publish_view &raw_options,
129 PublishPacket &WithMessageExpiryIntervalSec(uint32_t second)
noexcept;
195 bool initializeRawOptions(aws_mqtt5_packet_publish_view &raw_options)
noexcept;
205 const ByteCursor &getPayload() const noexcept;
216 Mqtt5::
QOS getQOS() const noexcept;
227 bool getRetain() const noexcept;
237 const Crt::
String &getTopic() const noexcept;
264 const Crt::
Optional<uint32_t> &getMessageExpiryIntervalSec() const noexcept;
276 const Crt::
Optional<uint16_t> &getTopicAlias() const noexcept;
310 const Crt::
Vector<uint32_t> &getSubscriptionIdentifiers() const noexcept;
396 Crt::
Optional<uint32_t> m_messageExpiryIntervalSec;
406 Crt::
Optional<uint16_t> m_topicAlias;
446 Crt::
Vector<uint32_t> m_subscriptionIdentifiers;
460 ByteBuf m_correlationDataStorage;
461 Crt::
String m_responseTopicString;
462 struct aws_mqtt5_user_property *m_userPropertiesStorage;
482 const aws_mqtt5_negotiated_settings &negotiated_settings,
494 uint32_t getSessionExpiryIntervalSec()
const noexcept;
500 uint16_t getReceiveMaximumFromServer()
const noexcept;
508 uint32_t getMaximumPacketSizeBytes()
const noexcept;
513 uint32_t getMaximumPacketSizeToServer()
const noexcept;
518 uint16_t getTopicAliasMaximumToServer()
const noexcept;
523 uint16_t getTopicAliasMaximumToClient()
const noexcept;
532 uint16_t getServerKeepAliveSec()
const noexcept;
543 uint16_t getServerKeepAlive()
const noexcept;
548 bool getRetainAvailable()
const noexcept;
553 bool getWildcardSubscriptionsAvailable()
const noexcept;
558 bool getSubscriptionIdentifiersAvailable()
const noexcept;
563 bool getSharedSubscriptionsAvailable()
const noexcept;
568 bool getRejoinedSession()
const noexcept;
590 Mqtt5::
QOS m_maximumQOS;
595 uint32_t m_sessionExpiryIntervalSec;
600 uint16_t m_receiveMaximumFromServer;
605 uint32_t m_maximumPacketSizeBytes;
610 uint16_t m_topicAliasMaximumToServer;
615 uint16_t m_topicAliasMaximumToClient;
622 uint16_t m_serverKeepAliveSec;
627 bool m_retainAvailable;
632 bool m_wildcardSubscriptionsAvailable;
637 bool m_subscriptionIdentifiersAvailable;
642 bool m_sharedSubscriptionsAvailable;
647 bool m_rejoinedSession;
689 ConnectPacket &WithKeepAliveIntervalSec(uint16_t keepAliveInteralSeconds)
noexcept;
742 ConnectPacket &WithSessionExpiryIntervalSec(uint32_t sessionExpiryIntervalSeconds)
noexcept;
756 ConnectPacket &WithRequestResponseInformation(
bool requestResponseInformation)
noexcept;
770 ConnectPacket &WithRequestProblemInformation(
bool requestProblemInformation)
noexcept;
783 ConnectPacket &WithReceiveMaximum(uint16_t receiveMaximum)
noexcept;
795 ConnectPacket &WithMaximumPacketSizeBytes(uint32_t maximumPacketSizeBytes)
noexcept;
810 ConnectPacket &WithWillDelayIntervalSec(uint32_t willDelayIntervalSeconds)
noexcept;
823 ConnectPacket &WithWill(std::shared_ptr<PublishPacket> will)
noexcept;
875 uint16_t getKeepAliveIntervalSec() const noexcept;
889 const Crt::
String &getClientId() const noexcept;
923 const Crt::
Optional<uint32_t> &getSessionExpiryIntervalSec() const noexcept;
935 const Crt::
Optional<
bool> &getRequestResponseInformation() const noexcept;
947 const Crt::
Optional<
bool> &getRequestProblemInformation() const noexcept;
958 const Crt::
Optional<uint16_t> &getReceiveMaximum() const noexcept;
971 const Crt::
Optional<uint32_t> &getMaximumPacketSizeBytes() const noexcept;
982 const Crt::
Optional<uint32_t> &getMaximumPacketSizeToServer() const noexcept;
996 const Crt::
Optional<uint32_t> &getWillDelayIntervalSec() const noexcept;
1028 bool initializeRawOptions(aws_mqtt5_packet_connect_view &raw_options,
Allocator *allocator) noexcept;
1049 uint16_t m_keepAliveIntervalSec;
1088 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1098 Crt::
Optional<
bool> m_requestResponseInformation;
1107 Crt::
Optional<
bool> m_requestProblemInformation;
1116 Crt::
Optional<uint16_t> m_receiveMaximum;
1125 Crt::
Optional<uint32_t> m_maximumPacketSizeBytes;
1136 Crt::
Optional<uint32_t> m_willDelayIntervalSeconds;
1158 struct aws_byte_cursor m_usernameCursor;
1159 struct aws_byte_buf m_passowrdStorage;
1160 struct aws_mqtt5_packet_publish_view m_willStorage;
1161 struct aws_mqtt5_user_property *m_userPropertiesStorage;
1162 uint8_t m_requestResponseInformationStorage;
1163 uint8_t m_requestProblemInformationStorage;
1174 const aws_mqtt5_packet_connack_view &packet,
1188 bool getSessionPresent() const noexcept;
1210 const Crt::
Optional<uint32_t> &getSessionExpiryIntervalSec() const noexcept;
1224 const Crt::
Optional<uint32_t> &getSessionExpiryInterval() const noexcept;
1236 const Crt::
Optional<uint16_t> &getReceiveMaximum() const noexcept;
1246 const Crt::
Optional<
QOS> &getMaximumQOS() const noexcept;
1257 const Crt::
Optional<
bool> &getRetainAvailable() const noexcept;
1268 const Crt::
Optional<uint32_t> &getMaximumPacketSize() const noexcept;
1279 const Crt::
Optional<
String> &getAssignedClientIdentifier() const noexcept;
1289 const Crt::
Optional<uint16_t> getTopicAliasMaximum() const noexcept;
1320 const Crt::
Optional<
bool> &getWildcardSubscriptionsAvailable() const noexcept;
1331 const Crt::
Optional<
bool> &getSubscriptionIdentifiersAvailable() const noexcept;
1342 const Crt::
Optional<
bool> &getSharedSubscriptionsAvailable() const noexcept;
1353 const Crt::
Optional<uint16_t> &getServerKeepAliveSec() const noexcept;
1365 const Crt::
Optional<uint16_t> &getServerKeepAlive() const noexcept;
1376 const Crt::
Optional<
String> &getResponseInformation() const noexcept;
1389 const Crt::
Optional<
String> &getServerReference() const noexcept;
1404 bool m_sessionPresent;
1421 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1430 Crt::
Optional<uint16_t> m_receiveMaximum;
1446 Crt::
Optional<
bool> m_retainAvailable;
1455 Crt::
Optional<uint32_t> m_maximumPacketSize;
1472 Crt::
Optional<uint16_t> m_topicAliasMaximum;
1489 Crt::
Optional<
bool> m_wildcardSubscriptionsAvailable;
1498 Crt::
Optional<
bool> m_subscriptionIdentifiersAvailable;
1507 Crt::
Optional<
bool> m_sharedSubscriptionsAvailable;
1516 Crt::
Optional<uint16_t> m_serverKeepAliveSec;
1555 const aws_mqtt5_packet_disconnect_view &raw_options,
1560 bool initializeRawOptions(aws_mqtt5_packet_disconnect_view &raw_options)
noexcept;
1584 DisconnectPacket &WithSessionExpiryIntervalSec(
const uint32_t sessionExpiryIntervalSeconds)
noexcept;
1666 const Crt::
Optional<uint32_t> &getSessionExpiryIntervalSec() const noexcept;
1676 const Crt::
Optional<Crt::
String> &getReasonString() const noexcept;
1689 const Crt::
Optional<Crt::
String> &getServerReference() const noexcept;
1726 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1757 struct aws_byte_cursor m_reasonStringCursor;
1758 struct aws_byte_cursor m_serverReferenceCursor;
1759 struct aws_mqtt5_user_property *m_userPropertiesStorage;
1770 const aws_mqtt5_packet_puback_view &packet,
1793 const Crt::
Optional<Crt::
String> &getReasonString() const noexcept;
1870 std::shared_ptr<IPacket>
getAck()
const {
return m_ack; };
1941 Subscription &WithRetainAsPublished(
bool retain)
noexcept;
1969 bool initializeRawOptions(aws_mqtt5_subscription_view &raw_options)
const noexcept;
1986 Crt::
String m_topicFilter;
2012 bool m_retainAsPublished;
2079 SubscribePacket &WithSubscriptionIdentifier(uint32_t subscriptionIdentifier)
noexcept;
2108 bool initializeRawOptions(aws_mqtt5_packet_subscribe_view &raw_options)
noexcept;
2134 Crt::
Optional<uint32_t> m_subscriptionIdentifier;
2147 struct aws_mqtt5_subscription_view *m_subscriptionViewStorage;
2148 struct aws_mqtt5_user_property *m_userPropertiesStorage;
2159 const aws_mqtt5_packet_suback_view &packet,
2293 bool initializeRawOptions(aws_mqtt5_packet_unsubscribe_view &raw_options)
noexcept;
2323 struct aws_array_list m_topicFiltersList;
2324 struct aws_mqtt5_user_property *m_userPropertiesStorage;
2335 const aws_mqtt5_packet_unsuback_view &packet,
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Mqtt5Packets.h:1171
ConnAckPacket(const ConnAckPacket &)=delete
ConnAckPacket(ConnAckPacket &&) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:1178
Definition Mqtt5Packets.h:663
PacketType getType() override
Definition Mqtt5Packets.h:669
Definition Mqtt5Packets.h:1551
PacketType getType() override
Definition Mqtt5Packets.h:1558
Definition Mqtt5Packets.h:43
virtual PacketType getType()=0
Definition Mqtt5Packets.h:479
virtual ~NegotiatedSettings()
Definition Mqtt5Packets.h:580
NegotiatedSettings(NegotiatedSettings &&) noexcept=delete
NegotiatedSettings(const NegotiatedSettings &)=delete
Definition Mqtt5Packets.h:1767
PubAckPacket(const PubAckPacket &toCopy) noexcept=delete
PubAckPacket & operator=(PubAckPacket &&toMove) noexcept=delete
PubAckPacket & operator=(const PubAckPacket &toCopy) noexcept=delete
PubAckPacket(PubAckPacket &&toMove) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:1773
Definition Mqtt5Packets.h:53
PacketType getType() override
Definition Mqtt5Packets.h:64
Definition Mqtt5Packets.h:1844
std::shared_ptr< IPacket > getAck() const
Definition Mqtt5Packets.h:1870
bool wasSuccessful() const
Definition Mqtt5Packets.h:1855
int getErrorCode() const
Definition Mqtt5Packets.h:1862
Definition Mqtt5Packets.h:2156
PacketType getType() override
Definition Mqtt5Packets.h:2163
SubAckPacket(SubAckPacket &&) noexcept=delete
SubAckPacket(const SubAckPacket &) noexcept=delete
Definition Mqtt5Packets.h:2029
SubscribePacket(const SubscribePacket &) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:2034
SubscribePacket(SubscribePacket &&) noexcept=delete
Definition Mqtt5Packets.h:1890
virtual ~Subscription()
Definition Mqtt5Packets.h:1971
Definition Mqtt5Packets.h:2332
PacketType getType() override
Definition Mqtt5Packets.h:2339
UnSubAckPacket(UnSubAckPacket &&) noexcept=delete
UnSubAckPacket(const UnSubAckPacket &) noexcept=delete
Definition Mqtt5Packets.h:2235
UnsubscribePacket(const UnsubscribePacket &) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:2240
UnsubscribePacket(UnsubscribePacket &&) noexcept=delete
Definition Mqtt5Packets.h:24
const Crt::String & getName() const noexcept
Definition Mqtt5Packets.h:28
const Crt::String & getValue() const noexcept
Definition Mqtt5Packets.h:29
aws_mqtt5_unsuback_reason_code UnSubAckReasonCode
Definition Mqtt5Types.h:169
aws_mqtt5_qos QOS
Definition Mqtt5Types.h:29
aws_mqtt5_connect_reason_code ConnectReasonCode
Definition Mqtt5Types.h:65
aws_mqtt5_suback_reason_code SubAckReasonCode
Definition Mqtt5Types.h:148
aws_mqtt5_retain_handling_type RetainHandlingType
Definition Mqtt5Types.h:278
aws_mqtt5_puback_reason_code PubAckReasonCode
Definition Mqtt5Types.h:127
aws_mqtt5_payload_format_indicator PayloadFormatIndicator
Definition Mqtt5Types.h:259
aws_mqtt5_disconnect_reason_code DisconnectReasonCode
Definition Mqtt5Types.h:107
aws_mqtt5_packet_type PacketType
Definition Mqtt5Types.h:308
aws_byte_cursor ByteCursor
Definition Types.h:31
aws_allocator Allocator
Definition Allocator.h:14
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
aws_byte_buf ByteBuf
Definition Types.h:30
std::vector< T, StlAllocator< T > > Vector
Definition Types.h:53
Definition Allocator.h:11
Definition StringView.h:862