AWS IoT Device SDK C++ v2  1.34.0
AWS IoT Device SDK C++ v2
Classes | Typedefs | Enumerations | Functions
Aws::Crt::Mqtt5 Namespace Reference

Classes

class  ConnAckPacket
 
class  ConnectPacket
 
class  DisconnectPacket
 
class  IPacket
 
class  Mqtt5Client
 
struct  Mqtt5ClientOperationStatistics
 
class  Mqtt5ClientOptions
 
class  NegotiatedSettings
 
struct  OnAttemptingConnectEventData
 
struct  OnConnectionFailureEventData
 
struct  OnConnectionSuccessEventData
 
struct  OnDisconnectionEventData
 
struct  OnStoppedEventData
 
class  PubAckPacket
 
class  PublishPacket
 
struct  PublishReceivedEventData
 
class  PublishResult
 
struct  ReconnectOptions
 
class  SubAckPacket
 
class  SubscribePacket
 
class  Subscription
 
struct  TopicAliasingOptions
 
class  UnSubAckPacket
 
class  UnsubscribePacket
 
class  UserProperty
 

Typedefs

using OnConnectionSuccessHandler = std::function< void(const OnConnectionSuccessEventData &)>
 
using OnConnectionFailureHandler = std::function< void(const OnConnectionFailureEventData &)>
 
using OnDisconnectionHandler = std::function< void(const OnDisconnectionEventData &)>
 
using OnAttemptingConnectHandler = std::function< void(const OnAttemptingConnectEventData &)>
 
using OnStoppedHandler = std::function< void(const OnStoppedEventData &)>
 
using OnPublishCompletionHandler = std::function< void(int, std::shared_ptr< PublishResult >)>
 
using OnSubscribeCompletionHandler = std::function< void(int, std::shared_ptr< SubAckPacket >)>
 
using OnUnsubscribeCompletionHandler = std::function< void(int, std::shared_ptr< UnSubAckPacket >)>
 
using OnPublishReceivedHandler = std::function< void(const PublishReceivedEventData &)>
 
using OnWebSocketHandshakeInterceptComplete = std::function< void(const std::shared_ptr< Http::HttpRequest > &, int)>
 
using OnWebSocketHandshakeIntercept = std::function< void(std::shared_ptr< Http::HttpRequest >, const OnWebSocketHandshakeInterceptComplete &)>
 
using QOS = aws_mqtt5_qos
 
using ConnectReasonCode = aws_mqtt5_connect_reason_code
 
using DisconnectReasonCode = aws_mqtt5_disconnect_reason_code
 
using PubAckReasonCode = aws_mqtt5_puback_reason_code
 
using SubAckReasonCode = aws_mqtt5_suback_reason_code
 
using UnSubAckReasonCode = aws_mqtt5_unsuback_reason_code
 
using ClientSessionBehaviorType = aws_mqtt5_client_session_behavior_type
 
using ClientExtendedValidationAndFlowControl = aws_mqtt5_extended_validation_and_flow_control_options
 
using ClientOperationQueueBehaviorType = aws_mqtt5_client_operation_queue_behavior_type
 
using ExponentialBackoffJitterMode = aws_exponential_backoff_jitter_mode
 
using JitterMode = ExponentialBackoffJitterMode
 
using PayloadFormatIndicator = aws_mqtt5_payload_format_indicator
 
using RetainHandlingType = aws_mqtt5_retain_handling_type
 
using PacketType = aws_mqtt5_packet_type
 

Enumerations

enum  OutboundTopicAliasBehaviorType { OutboundTopicAliasBehaviorType::Default = AWS_MQTT5_COTABT_DEFAULT, OutboundTopicAliasBehaviorType::Manual = AWS_MQTT5_COTABT_MANUAL, OutboundTopicAliasBehaviorType::LRU = AWS_MQTT5_COTABT_LRU, OutboundTopicAliasBehaviorType::Disabled = AWS_MQTT5_COTABT_DISABLED }
 
enum  InboundTopicAliasBehaviorType { InboundTopicAliasBehaviorType::Default = AWS_MQTT5_CITABT_DEFAULT, InboundTopicAliasBehaviorType::Enabled = AWS_MQTT5_CITABT_ENABLED, InboundTopicAliasBehaviorType::Disabled = AWS_MQTT5_CITABT_DISABLED }
 

Functions

template<typename T >
void setPacketVector (Vector< T > &vector, const T *values, size_t length)
 
template<typename T >
void setPacketOptional (Optional< T > &optional, const T *value)
 
void setPacketStringOptional (Optional< aws_byte_cursor > &optional, Crt::String &optionalStorage, const aws_byte_cursor *value)
 
void setPacketStringOptional (Optional< Crt::String > &optional, const aws_byte_cursor *value)
 
void setPacketStringOptional (Optional< Crt::String > &optional, Crt::String &&toMove)
 
void setPacketByteBufOptional (Optional< aws_byte_cursor > &optional, ByteBuf &optionalStorage, Allocator *allocator, const aws_byte_cursor *value)
 
void setUserProperties (Vector< UserProperty > &userProperties, const struct aws_mqtt5_user_property *properties, size_t propertyCount)
 
template<typename T >
void setNullableFromOptional (const T *&nullable, const Optional< T > &optional)
 
void s_AllocateUnderlyingUserProperties (aws_mqtt5_user_property *&dst, const Crt::Vector< UserProperty > &userProperties, Allocator *allocator)
 
void s_AllocateStringVector (aws_array_list &dst, const Crt::Vector< String > &stringVector, Allocator *allocator)
 
void s_AllocateUnderlyingSubscription (aws_mqtt5_subscription_view *&dst, const Crt::Vector< Subscription > &subscriptions, Allocator *allocator)
 

Typedef Documentation

◆ ClientExtendedValidationAndFlowControl

using Aws::Crt::Mqtt5::ClientExtendedValidationAndFlowControl = typedef aws_mqtt5_extended_validation_and_flow_control_options

Additional controls for client behavior with respect to operation validation and flow control; these checks go beyond the MQTT5 spec to respect limits of specific MQTT brokers.

Enumerator
AWS_MQTT5_EVAFCO_NONEDo not do any additional validation or flow control outside of the MQTT5 spec
AWS_MQTT5_EVAFCO_AWS_IOT_CORE_DEFAULTSApply additional client-side operational flow control that respects the default AWS IoT Core limits. Applies the following flow control: (1) Outbound throughput throttled to 512KB/s (2) Outbound publish TPS throttled to 100

◆ ClientOperationQueueBehaviorType

using Aws::Crt::Mqtt5::ClientOperationQueueBehaviorType = typedef aws_mqtt5_client_operation_queue_behavior_type

Controls how disconnects affect the queued and in-progress operations tracked by the client. Also controls how operations are handled while the client is not connected. In particular, if the client is not connected, then any operation that would be failed on disconnect (according to these rules) will be rejected.

Enumerator
AWS_MQTT5_COQBT_DEFAULTMaps to AWS_MQTT5_COQBT_FAIL_QOS0_PUBLISH_ON_DISCONNECT
AWS_MQTT5_COQBT_FAIL_NON_QOS1_PUBLISH_ON_DISCONNECTRequeues QoS 1+ publishes on disconnect; unacked publishes go to the front, unprocessed publishes stay in place. All other operations (QoS 0 publishes, subscribe, unsubscribe) are failed.
AWS_MQTT5_COQBT_FAIL_QOS0_PUBLISH_ON_DISCONNECTQos 0 publishes that are not complete at the time of disconnection are failed. Unacked QoS 1+ publishes are requeued at the head of the line for immediate retransmission on a session resumption. All other operations are requeued in the original order behind any retransmissions.
AWS_MQTT5_COQBT_FAIL_ALL_ON_DISCONNECTAll operations that are not complete at the time of disconnection are failed, except those operations that the MQTT 5 spec requires to be retransmitted (unacked QoS 1+ publishes).

◆ ClientSessionBehaviorType

using Aws::Crt::Mqtt5::ClientSessionBehaviorType = typedef aws_mqtt5_client_session_behavior_type

Controls how the MQTT5 client should behave with respect to MQTT sessions.

Enumerator
AWS_MQTT5_CSBT_DEFAULTMaps to AWS_MQTT5_CSBT_CLEAN
AWS_MQTT5_CSBT_CLEANAlways join a new, clean session
AWS_MQTT5_CSBT_REJOIN_POST_SUCCESSAlways attempt to rejoin an existing session after an initial connection success.
AWS_MQTT5_CSBT_REJOIN_ALWAYSAlways attempt to rejoin an existing session. Since the client does not support durable session persistence, this option is not guaranteed to be spec compliant because any unacknowledged qos1 publishes (which are part of the client session state) will not be present on the initial connection. Until we support durable session resumption, this option is technically spec-breaking, but useful.

◆ ConnectReasonCode

using Aws::Crt::Mqtt5::ConnectReasonCode = typedef aws_mqtt5_connect_reason_code

Server return code for connect attempts.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_CRC_SUCCESS0
AWS_MQTT5_CRC_UNSPECIFIED_ERROR128
AWS_MQTT5_CRC_MALFORMED_PACKET129
AWS_MQTT5_CRC_PROTOCOL_ERROR130
AWS_MQTT5_CRC_IMPLEMENTATION_SPECIFIC_ERROR131
AWS_MQTT5_CRC_UNSUPPORTED_PROTOCOL_VERSION132
AWS_MQTT5_CRC_CLIENT_IDENTIFIER_NOT_VALID133
AWS_MQTT5_CRC_BAD_USERNAME_OR_PASSWORD134
AWS_MQTT5_CRC_NOT_AUTHORIZED135
AWS_MQTT5_CRC_SERVER_UNAVAILABLE136
AWS_MQTT5_CRC_SERVER_BUSY137
AWS_MQTT5_CRC_BANNED138
AWS_MQTT5_CRC_BAD_AUTHENTICATION_METHOD140
AWS_MQTT5_CRC_TOPIC_NAME_INVALID144
AWS_MQTT5_CRC_PACKET_TOO_LARGE149
AWS_MQTT5_CRC_QUOTA_EXCEEDED151
AWS_MQTT5_CRC_PAYLOAD_FORMAT_INVALID153
AWS_MQTT5_CRC_RETAIN_NOT_SUPPORTED154
AWS_MQTT5_CRC_QOS_NOT_SUPPORTED155
AWS_MQTT5_CRC_USE_ANOTHER_SERVER156
AWS_MQTT5_CRC_SERVER_MOVED157
AWS_MQTT5_CRC_CONNECTION_RATE_EXCEEDED159

◆ DisconnectReasonCode

using Aws::Crt::Mqtt5::DisconnectReasonCode = typedef aws_mqtt5_disconnect_reason_code

Reason code inside DISCONNECT packets. Helps determine why a connection was terminated.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_DRC_NORMAL_DISCONNECTION0
AWS_MQTT5_DRC_DISCONNECT_WITH_WILL_MESSAGE4
AWS_MQTT5_DRC_UNSPECIFIED_ERROR128
AWS_MQTT5_DRC_MALFORMED_PACKET129
AWS_MQTT5_DRC_PROTOCOL_ERROR130
AWS_MQTT5_DRC_IMPLEMENTATION_SPECIFIC_ERROR131
AWS_MQTT5_DRC_NOT_AUTHORIZED135
AWS_MQTT5_DRC_SERVER_BUSY137
AWS_MQTT5_DRC_SERVER_SHUTTING_DOWN139
AWS_MQTT5_DRC_KEEP_ALIVE_TIMEOUT141
AWS_MQTT5_DRC_SESSION_TAKEN_OVER142
AWS_MQTT5_DRC_TOPIC_FILTER_INVALID143
AWS_MQTT5_DRC_TOPIC_NAME_INVALID144
AWS_MQTT5_DRC_RECEIVE_MAXIMUM_EXCEEDED147
AWS_MQTT5_DRC_TOPIC_ALIAS_INVALID148
AWS_MQTT5_DRC_PACKET_TOO_LARGE149
AWS_MQTT5_DRC_MESSAGE_RATE_TOO_HIGH150
AWS_MQTT5_DRC_QUOTA_EXCEEDED151
AWS_MQTT5_DRC_ADMINISTRATIVE_ACTION152
AWS_MQTT5_DRC_PAYLOAD_FORMAT_INVALID153
AWS_MQTT5_DRC_RETAIN_NOT_SUPPORTED154
AWS_MQTT5_DRC_QOS_NOT_SUPPORTED155
AWS_MQTT5_DRC_USE_ANOTHER_SERVER156
AWS_MQTT5_DRC_SERVER_MOVED157
AWS_MQTT5_DRC_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED158
AWS_MQTT5_DRC_CONNECTION_RATE_EXCEEDED159
AWS_MQTT5_DRC_MAXIMUM_CONNECT_TIME160
AWS_MQTT5_DRC_SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED161
AWS_MQTT5_DRC_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED162

◆ ExponentialBackoffJitterMode

using Aws::Crt::Mqtt5::ExponentialBackoffJitterMode = typedef aws_exponential_backoff_jitter_mode

Controls how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt timepoints for a large set of reconnecting clients.

See Exponential Backoff and Jitter

Enumerator
AWS_EXPONENTIAL_BACKOFF_JITTER_DEFAULTUses AWS_EXPONENTIAL_BACKOFF_JITTER_FULL
AWS_EXPONENTIAL_BACKOFF_JITTER_NONENo jitter is applied to the exponential backoff
AWS_EXPONENTIAL_BACKOFF_JITTER_FULLFull jitter is applied to the exponential backoff
AWS_EXPONENTIAL_BACKOFF_JITTER_DECORRELATEDJitter is decorrelated from the backoff sequence

◆ JitterMode

Deprecated:
JitterMode is deprecated, please use Aws::Crt::Mqtt5::ExponentialBackoffJitterMode

◆ OnAttemptingConnectHandler

using Aws::Crt::Mqtt5::OnAttemptingConnectHandler = typedef std::function<void(const OnAttemptingConnectEventData &)>

Type signature of the callback invoked when attempting connect to client Mandatory event fields: client

◆ OnConnectionFailureHandler

using Aws::Crt::Mqtt5::OnConnectionFailureHandler = typedef std::function<void(const OnConnectionFailureEventData &)>

Type signature of the callback invoked when connection failed

◆ OnConnectionSuccessHandler

using Aws::Crt::Mqtt5::OnConnectionSuccessHandler = typedef std::function<void(const OnConnectionSuccessEventData &)>

Type signature of the callback invoked when connection succeed Mandatory event fields: client, connack_data, settings

◆ OnDisconnectionHandler

using Aws::Crt::Mqtt5::OnDisconnectionHandler = typedef std::function<void(const OnDisconnectionEventData &)>

Type signature of the callback invoked when the internal connection is shutdown

◆ OnPublishCompletionHandler

using Aws::Crt::Mqtt5::OnPublishCompletionHandler = typedef std::function<void(int, std::shared_ptr<PublishResult>)>

Type signature of the callback invoked when a Publish Complete

◆ OnPublishReceivedHandler

using Aws::Crt::Mqtt5::OnPublishReceivedHandler = typedef std::function<void(const PublishReceivedEventData &)>

Type signature of the callback invoked when a PacketPublish message received (OnMessageHandler)

◆ OnStoppedHandler

using Aws::Crt::Mqtt5::OnStoppedHandler = typedef std::function<void(const OnStoppedEventData &)>

Type signature of the callback invoked when client connection stopped Mandatory event fields: client

◆ OnSubscribeCompletionHandler

using Aws::Crt::Mqtt5::OnSubscribeCompletionHandler = typedef std::function<void(int, std::shared_ptr<SubAckPacket>)>

Type signature of the callback invoked when a Subscribe Complete

◆ OnUnsubscribeCompletionHandler

using Aws::Crt::Mqtt5::OnUnsubscribeCompletionHandler = typedef std::function<void(int, std::shared_ptr<UnSubAckPacket>)>

Type signature of the callback invoked when a Unsubscribe Complete

◆ OnWebSocketHandshakeIntercept

using Aws::Crt::Mqtt5::OnWebSocketHandshakeIntercept = typedef std::function<void(std::shared_ptr<Http::HttpRequest>, const OnWebSocketHandshakeInterceptComplete &)>

Invoked during websocket handshake to give users opportunity to transform an http request for purposes such as signing/authorization etc... Returning from this function does not continue the websocket handshake since some work flows may be asynchronous. To accommodate that, onComplete must be invoked upon completion of the signing process.

◆ OnWebSocketHandshakeInterceptComplete

using Aws::Crt::Mqtt5::OnWebSocketHandshakeInterceptComplete = typedef std::function<void(const std::shared_ptr<Http::HttpRequest> &, int)>

Callback for users to invoke upon completion of, presumably asynchronous, OnWebSocketHandshakeIntercept callback's initiated process.

◆ PacketType

using Aws::Crt::Mqtt5::PacketType = typedef aws_mqtt5_packet_type

Type of mqtt packet. Enum values match mqtt spec encoding values.

https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901022

Enumerator
AWS_MQTT5_PT_NONEInternal indicator that the associated packet is null.
AWS_MQTT5_PT_RESERVEDReserved.
AWS_MQTT5_PT_CONNECTCONNECT packet.
AWS_MQTT5_PT_CONNACKCONNACK packet.
AWS_MQTT5_PT_PUBLISHPUBLISH packet.
AWS_MQTT5_PT_PUBACKPUBACK packet.
AWS_MQTT5_PT_PUBRECPUBREC packet.
AWS_MQTT5_PT_PUBRELPUBREL packet.
AWS_MQTT5_PT_PUBCOMPPUBCOMP packet.
AWS_MQTT5_PT_SUBSCRIBESUBSCRIBE packet.
AWS_MQTT5_PT_SUBACKSUBACK packet.
AWS_MQTT5_PT_UNSUBSCRIBEUNSUBSCRIBE packet.
AWS_MQTT5_PT_UNSUBACKUNSUBACK packet.
AWS_MQTT5_PT_PINGREQPINGREQ packet.
AWS_MQTT5_PT_PINGRESPPINGRESP packet.
AWS_MQTT5_PT_DISCONNECTDISCONNECT packet.
AWS_MQTT5_PT_AUTHAUTH packet.

◆ PayloadFormatIndicator

using Aws::Crt::Mqtt5::PayloadFormatIndicator = typedef aws_mqtt5_payload_format_indicator

Optional property describing a PUBLISH payload's format.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_PFI_BYTESBytes format.
AWS_MQTT5_PFI_UTF8UTF-8 format.

◆ PubAckReasonCode

using Aws::Crt::Mqtt5::PubAckReasonCode = typedef aws_mqtt5_puback_reason_code

Reason code inside PUBACK packets

Data model of an MQTT5 PUBACK packet

Enumerator
AWS_MQTT5_PARC_SUCCESS0
AWS_MQTT5_PARC_NO_MATCHING_SUBSCRIBERS16
AWS_MQTT5_PARC_UNSPECIFIED_ERROR128
AWS_MQTT5_PARC_IMPLEMENTATION_SPECIFIC_ERROR131
AWS_MQTT5_PARC_NOT_AUTHORIZED135
AWS_MQTT5_PARC_TOPIC_NAME_INVALID144
AWS_MQTT5_PARC_PACKET_IDENTIFIER_IN_USE145
AWS_MQTT5_PARC_QUOTA_EXCEEDED151
AWS_MQTT5_PARC_PAYLOAD_FORMAT_INVALID153

◆ QOS

using Aws::Crt::Mqtt5::QOS = typedef aws_mqtt5_qos

MQTT message delivery quality of service.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_QOS_AT_MOST_ONCEhttps://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901235
AWS_MQTT5_QOS_AT_LEAST_ONCEhttps://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901236
AWS_MQTT5_QOS_EXACTLY_ONCEhttps://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901237

◆ RetainHandlingType

using Aws::Crt::Mqtt5::RetainHandlingType = typedef aws_mqtt5_retain_handling_type

Configures how retained messages should be handled when subscribing with a topic filter that matches topics with associated retained messages.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_RHT_SEND_ON_SUBSCRIBEServer should send all retained messages on topics that match the subscription's filter.
AWS_MQTT5_RHT_SEND_ON_SUBSCRIBE_IF_NEWServer should send all retained messages on topics that match the subscription's filter, where this is the first (relative to connection) subscription filter that matches the topic with a retained message.
AWS_MQTT5_RHT_DONT_SENDSubscribe must not trigger any retained message publishes from the server.

◆ SubAckReasonCode

using Aws::Crt::Mqtt5::SubAckReasonCode = typedef aws_mqtt5_suback_reason_code

Reason code inside PUBACK packets that indicates the result of the associated PUBLISH request.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_PARC_SUCCESS0
AWS_MQTT5_PARC_NO_MATCHING_SUBSCRIBERS16
AWS_MQTT5_PARC_UNSPECIFIED_ERROR128
AWS_MQTT5_PARC_IMPLEMENTATION_SPECIFIC_ERROR131
AWS_MQTT5_PARC_NOT_AUTHORIZED135
AWS_MQTT5_PARC_TOPIC_NAME_INVALID144
AWS_MQTT5_PARC_PACKET_IDENTIFIER_IN_USE145
AWS_MQTT5_PARC_QUOTA_EXCEEDED151
AWS_MQTT5_PARC_PAYLOAD_FORMAT_INVALID153

◆ UnSubAckReasonCode

using Aws::Crt::Mqtt5::UnSubAckReasonCode = typedef aws_mqtt5_unsuback_reason_code

Reason codes inside UNSUBACK packet payloads that specify the results for each topic filter in the associated UNSUBSCRIBE packet.

Enum values match MQTT5 spec encoding values.

Enumerator
AWS_MQTT5_UARC_SUCCESS0
AWS_MQTT5_UARC_NO_SUBSCRIPTION_EXISTED17
AWS_MQTT5_UARC_UNSPECIFIED_ERROR128
AWS_MQTT5_UARC_IMPLEMENTATION_SPECIFIC_ERROR131
AWS_MQTT5_UARC_NOT_AUTHORIZED135
AWS_MQTT5_UARC_TOPIC_FILTER_INVALID143
AWS_MQTT5_UARC_PACKET_IDENTIFIER_IN_USE145

Enumeration Type Documentation

◆ InboundTopicAliasBehaviorType

An enumeration that controls whether or not the client allows the broker to send publishes that use topic aliasing.

Topic alias behavior is described in https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901113

Enumerator
Default 

Maps to Disabled. This keeps the client from being broken (by default) if the broker topic aliasing implementation has a problem.

Enabled 

Allow the server to send PUBLISH packets to the client that use topic aliasing

Disabled 

Forbid the server from sending PUBLISH packets to the client that use topic aliasing

◆ OutboundTopicAliasBehaviorType

An enumeration that controls how the client applies topic aliasing to outbound publish packets.

Topic alias behavior is described in https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901113

Enumerator
Default 

Maps to Disabled. This keeps the client from being broken (by default) if the broker topic aliasing implementation has a problem.

Manual 

Outbound aliasing is the user's responsibility. Client will cache and use previously-established aliases if they fall within the negotiated limits of the connection.

The user must still always submit a full topic in their publishes because disconnections disrupt topic alias mappings unpredictably. The client will properly use a requested alias when the most-recently-seen binding for a topic alias value matches the alias and topic in the publish packet.

LRU 

(Recommended) The client will ignore any user-specified topic aliasing and instead use an LRU cache to drive alias usage.

Disabled 

Completely disable outbound topic aliasing.

Function Documentation

◆ s_AllocateStringVector()

void Aws::Crt::Mqtt5::s_AllocateStringVector ( aws_array_list &  dst,
const Crt::Vector< String > &  stringVector,
Allocator allocator 
)

◆ s_AllocateUnderlyingSubscription()

void Aws::Crt::Mqtt5::s_AllocateUnderlyingSubscription ( aws_mqtt5_subscription_view *&  dst,
const Crt::Vector< Subscription > &  subscriptions,
Allocator allocator 
)

◆ s_AllocateUnderlyingUserProperties()

void Aws::Crt::Mqtt5::s_AllocateUnderlyingUserProperties ( aws_mqtt5_user_property *&  dst,
const Crt::Vector< UserProperty > &  userProperties,
Allocator allocator 
)

◆ setNullableFromOptional()

template<typename T >
void Aws::Crt::Mqtt5::setNullableFromOptional ( const T *&  nullable,
const Optional< T > &  optional 
)

◆ setPacketByteBufOptional()

void Aws::Crt::Mqtt5::setPacketByteBufOptional ( Optional< aws_byte_cursor > &  optional,
ByteBuf optionalStorage,
Allocator allocator,
const aws_byte_cursor *  value 
)

◆ setPacketOptional()

template<typename T >
void Aws::Crt::Mqtt5::setPacketOptional ( Optional< T > &  optional,
const T *  value 
)

◆ setPacketStringOptional() [1/3]

void Aws::Crt::Mqtt5::setPacketStringOptional ( Optional< aws_byte_cursor > &  optional,
Crt::String optionalStorage,
const aws_byte_cursor *  value 
)

◆ setPacketStringOptional() [2/3]

void Aws::Crt::Mqtt5::setPacketStringOptional ( Optional< Crt::String > &  optional,
const aws_byte_cursor *  value 
)

◆ setPacketStringOptional() [3/3]

void Aws::Crt::Mqtt5::setPacketStringOptional ( Optional< Crt::String > &  optional,
Crt::String &&  toMove 
)

◆ setPacketVector()

template<typename T >
void Aws::Crt::Mqtt5::setPacketVector ( Vector< T > &  vector,
const T *  values,
size_t  length 
)

◆ setUserProperties()

void Aws::Crt::Mqtt5::setUserProperties ( Vector< UserProperty > &  userProperties,
const struct aws_mqtt5_user_property *  properties,
size_t  propertyCount 
)