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;
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;
455 Crt::
Vector<uint32_t> m_subscriptionIdentifiers;
469 ByteBuf m_correlationDataStorage;
471 struct aws_mqtt5_user_property *m_userPropertiesStorage;
491 const aws_mqtt5_negotiated_settings &negotiated_settings,
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;
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;
1266 const
Crt::
Optional<
bool> &getRetainAvailable() const noexcept;
1277 const
Crt::
Optional<uint32_t> &getMaximumPacketSize() 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;
1413 bool m_sessionPresent;
1430 Crt::
Optional<uint32_t> m_sessionExpiryIntervalSec;
1498 Crt::
Optional<
bool> m_wildcardSubscriptionsAvailable;
1507 Crt::
Optional<
bool> m_subscriptionIdentifiersAvailable;
1516 Crt::
Optional<
bool> m_sharedSubscriptionsAvailable;
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;
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,
1879 std::shared_ptr<IPacket>
getAck()
const {
return m_ack; };
2021 bool m_retainAsPublished;
2088 SubscribePacket &WithSubscriptionIdentifier(uint32_t subscriptionIdentifier)
noexcept;
2117 bool initializeRawOptions(aws_mqtt5_packet_subscribe_view &raw_options)
noexcept;
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,
ConnAckPacket(const aws_mqtt5_packet_connack_view &packet, Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:834
ConnAckPacket(const ConnAckPacket &)=delete
ConnAckPacket(ConnAckPacket &&) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:1187
Definition Mqtt5Packets.h:672
ConnectPacket(Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:198
PacketType getType() override
Definition Mqtt5Packets.h:678
Definition Mqtt5Packets.h:1560
DisconnectPacket(Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:688
PacketType getType() override
Definition Mqtt5Packets.h:1567
Definition Mqtt5Packets.h:42
virtual PacketType getType()=0
virtual ~IPacket()=default
uint16_t getServerKeepAlive() const noexcept
Definition Mqtt5Packets.cpp:1311
virtual ~NegotiatedSettings()
Definition Mqtt5Packets.h:589
bool getRejoinedSession() const noexcept
Definition Mqtt5Packets.cpp:1336
NegotiatedSettings(NegotiatedSettings &&) noexcept=delete
bool getSubscriptionIdentifiersAvailable() const noexcept
Definition Mqtt5Packets.cpp:1326
uint32_t getMaximumPacketSizeToServer() const noexcept
Definition Mqtt5Packets.cpp:1291
uint16_t getServerKeepAliveSec() const noexcept
Definition Mqtt5Packets.cpp:1306
Mqtt5::QOS getMaximumQOS() const noexcept
Definition Mqtt5Packets.cpp:1271
NegotiatedSettings(const NegotiatedSettings &)=delete
bool getWildcardSubscriptionsAvailable() const noexcept
Definition Mqtt5Packets.cpp:1321
bool getRetainAvailable() const noexcept
Definition Mqtt5Packets.cpp:1316
uint16_t getTopicAliasMaximumToClient() const noexcept
Definition Mqtt5Packets.cpp:1301
bool getSharedSubscriptionsAvailable() const noexcept
Definition Mqtt5Packets.cpp:1331
uint16_t getReceiveMaximumFromServer() const noexcept
Definition Mqtt5Packets.cpp:1281
const Crt::String & getClientId() const noexcept
Definition Mqtt5Packets.cpp:1341
uint32_t getMaximumPacketSizeBytes() const noexcept
Definition Mqtt5Packets.cpp:1286
uint32_t getSessionExpiryIntervalSec() const noexcept
Definition Mqtt5Packets.cpp:1276
uint16_t getTopicAliasMaximumToServer() const noexcept
Definition Mqtt5Packets.cpp:1296
NegotiatedSettings(const aws_mqtt5_negotiated_settings &negotiated_settings, Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:1245
PubAckPacket(const PubAckPacket &toCopy) noexcept=delete
PubAckPacket(const aws_mqtt5_packet_puback_view &packet, Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:812
PubAckPacket & operator=(PubAckPacket &&toMove) noexcept=delete
PubAckPacket & operator=(const PubAckPacket &toCopy) noexcept=delete
PubAckPacket(PubAckPacket &&toMove) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:1782
Definition Mqtt5Packets.h:53
PacketType getType() override
Definition Mqtt5Packets.h:64
PublishPacket(const aws_mqtt5_packet_publish_view &raw_options, Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:441
Definition Mqtt5Packets.h:1853
std::shared_ptr< IPacket > getAck() const
Definition Mqtt5Packets.h:1879
PublishResult()
Definition Mqtt5Packets.cpp:1346
bool wasSuccessful() const
Definition Mqtt5Packets.h:1864
int getErrorCode() const
Definition Mqtt5Packets.h:1871
SubAckPacket(const aws_mqtt5_packet_suback_view &packet, Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:1127
PacketType getType() override
Definition Mqtt5Packets.h:2172
SubAckPacket(SubAckPacket &&) noexcept=delete
SubAckPacket(const SubAckPacket &) noexcept=delete
Definition Mqtt5Packets.h:2038
SubscribePacket(Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:1049
SubscribePacket(const SubscribePacket &) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:2043
SubscribePacket(SubscribePacket &&) noexcept=delete
Definition Mqtt5Packets.h:1899
Subscription & WithQOS(Mqtt5::QOS QOS) noexcept
Definition Mqtt5Packets.cpp:971
Subscription & WithRetainHandlingType(RetainHandlingType retainHandlingType) noexcept
Definition Mqtt5Packets.cpp:990
Subscription & WithTopicFilter(Crt::String topicFilter) noexcept
Definition Mqtt5Packets.cpp:965
bool initializeRawOptions(aws_mqtt5_subscription_view &raw_options) const noexcept
Definition Mqtt5Packets.cpp:996
Subscription & WithNoLocal(bool noLocal) noexcept
Definition Mqtt5Packets.cpp:976
virtual ~Subscription()
Definition Mqtt5Packets.h:1980
Subscription & WithRetain(bool retain) noexcept
Definition Mqtt5Packets.cpp:981
Subscription(Allocator *allocator=ApiAllocator())
Definition Mqtt5Packets.cpp:952
Subscription & WithRetainAsPublished(bool retain) noexcept
Definition Mqtt5Packets.cpp:985
PacketType getType() override
Definition Mqtt5Packets.h:2348
UnSubAckPacket(UnSubAckPacket &&) noexcept=delete
UnSubAckPacket(const UnSubAckPacket &) noexcept=delete
UnSubAckPacket(const aws_mqtt5_packet_unsuback_view &packet, Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:1217
Definition Mqtt5Packets.h:2244
UnsubscribePacket(const UnsubscribePacket &) noexcept=delete
PacketType getType() override
Definition Mqtt5Packets.h:2249
UnsubscribePacket(Allocator *allocator=ApiAllocator()) noexcept
Definition Mqtt5Packets.cpp:1152
UnsubscribePacket(UnsubscribePacket &&) noexcept=delete
Definition Mqtt5Packets.h:23
const Crt::String & getName() const noexcept
Definition Mqtt5Packets.h:28
bool operator==(const UserProperty &other) const
Definition Mqtt5Packets.h:31
const Crt::String & getValue() const noexcept
Definition Mqtt5Packets.h:29
UserProperty(const Crt::String &name, const Crt::String &value) noexcept
Definition Mqtt5Packets.cpp:431
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition HttpRequestResponse.h:24
aws_mqtt5_qos QOS
Definition Mqtt5Types.h:29
aws_mqtt5_disconnect_reason_code DisconnectReasonCode
Definition Mqtt5Types.h:107
aws_mqtt5_suback_reason_code SubAckReasonCode
Definition Mqtt5Types.h:148
aws_mqtt5_payload_format_indicator PayloadFormatIndicator
Definition Mqtt5Types.h:259
aws_mqtt5_packet_type PacketType
Definition Mqtt5Types.h:308
aws_mqtt5_retain_handling_type RetainHandlingType
Definition Mqtt5Types.h:278
aws_mqtt5_puback_reason_code PubAckReasonCode
Definition Mqtt5Types.h:127
aws_mqtt5_connect_reason_code ConnectReasonCode
Definition Mqtt5Types.h:65
aws_mqtt5_unsuback_reason_code UnSubAckReasonCode
Definition Mqtt5Types.h:169
Definition Allocator.h:13
aws_byte_cursor ByteCursor
Definition Types.h:31
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
std::vector< T, StlAllocator< T > > Vector
Definition Types.h:53
aws_allocator Allocator
Definition Allocator.h:14
aws_byte_buf ByteBuf
Definition Types.h:30
Definition Allocator.h:11
Definition StringView.h:862