aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Classes | Typedefs | Functions
Aws::Crt::Mqtt Namespace Reference

Classes

class  MqttClient
 
class  MqttConnection
 
struct  MultiSubAckCallbackData
 
struct  OpCompleteCallbackData
 
struct  PubCallbackData
 
struct  SubAckCallbackData
 

Typedefs

using OnConnectionInterruptedHandler = std::function< void(MqttConnection &connection, int error)>
 
using OnConnectionResumedHandler = std::function< void(MqttConnection &connection, ReturnCode connectCode, bool sessionPresent)>
 
using OnConnectionCompletedHandler = std::function< void(MqttConnection &connection, int errorCode, ReturnCode returnCode, bool sessionPresent)>
 
using OnSubAckHandler = std::function< void(MqttConnection &connection, uint16_t packetId, const String &topic, QOS qos, int errorCode)>
 
using OnMultiSubAckHandler = std::function< void(MqttConnection &connection, uint16_t packetId, const Vector< String > &topics, QOS qos, int errorCode)>
 
using OnDisconnectHandler = std::function< void(MqttConnection &connection)>
 
using OnMessageReceivedHandler = std::function< void(MqttConnection &connection, const String &topic, const ByteBuf &payload, bool dup, QOS qos, bool retain)>
 
using OnPublishReceivedHandler = std::function< void(MqttConnection &connection, const String &topic, const ByteBuf &payload)>
 
using OnOperationCompleteHandler = std::function< void(MqttConnection &connection, uint16_t packetId, int errorCode)>
 
using OnWebSocketHandshakeInterceptComplete = std::function< void(const std::shared_ptr< Http::HttpRequest > &, int errorCode)>
 
using OnWebSocketHandshakeIntercept = std::function< void(std::shared_ptr< Http::HttpRequest > req, const OnWebSocketHandshakeInterceptComplete &onComplete)>
 
using QOS = aws_mqtt_qos
 
using ReturnCode = aws_mqtt_connect_return_code
 

Functions

static void s_cleanUpOnPublishData (void *userData)
 

Typedef Documentation

◆ OnConnectionCompletedHandler

using Aws::Crt::Mqtt::OnConnectionCompletedHandler = typedef std::function< void(MqttConnection &connection, int errorCode, ReturnCode returnCode, bool sessionPresent)>

Invoked when a connack message is received, or an error occurred.

◆ OnConnectionInterruptedHandler

using Aws::Crt::Mqtt::OnConnectionInterruptedHandler = typedef std::function<void(MqttConnection &connection, int error)>

Invoked Upon Connection loss.

◆ OnConnectionResumedHandler

using Aws::Crt::Mqtt::OnConnectionResumedHandler = typedef std::function<void(MqttConnection &connection, ReturnCode connectCode, bool sessionPresent)>

Invoked Upon Connection resumed.

◆ OnDisconnectHandler

using Aws::Crt::Mqtt::OnDisconnectHandler = typedef std::function<void(MqttConnection &connection)>

Invoked when a disconnect message has been sent.

◆ OnMessageReceivedHandler

using Aws::Crt::Mqtt::OnMessageReceivedHandler = typedef std::function<void( MqttConnection &connection, const String &topic, const ByteBuf &payload, bool dup, QOS qos, bool retain)>

Invoked upon receipt of a Publish message on a subscribed topic.

Parameters
connectionThe connection object
topicThe information channel to which the payload data was published.
payloadThe payload data.
dupDUP flag. If true, this might be re-delivery of an earlier attempt to send the message.
qosQuality of Service used to deliver the message.
retainRetain flag. If true, the message was sent as a result of a new subscription being made by the client.

◆ OnMultiSubAckHandler

using Aws::Crt::Mqtt::OnMultiSubAckHandler = typedef std::function<void( MqttConnection &connection, uint16_t packetId, const Vector<String> &topics, QOS qos, int errorCode)>

Invoked when a suback message for multiple topics is received.

◆ OnOperationCompleteHandler

using Aws::Crt::Mqtt::OnOperationCompleteHandler = typedef std::function<void(MqttConnection &connection, uint16_t packetId, int errorCode)>

Invoked when an operation completes. For QoS 0, this is when the packet is passed to the tls layer. For QoS 1 (and 2, in theory) this is when the final ack packet is received from the server.

◆ OnPublishReceivedHandler

using Aws::Crt::Mqtt::OnPublishReceivedHandler = typedef std::function<void(MqttConnection &connection, const String &topic, const ByteBuf &payload)>
Deprecated:
Use OnMessageReceivedHandler

◆ OnSubAckHandler

using Aws::Crt::Mqtt::OnSubAckHandler = typedef std::function< void(MqttConnection &connection, uint16_t packetId, const String &topic, QOS qos, int errorCode)>

Invoked when a suback message is received.

◆ OnWebSocketHandshakeIntercept

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

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::Mqtt::OnWebSocketHandshakeInterceptComplete = typedef std::function<void(const std::shared_ptr<Http::HttpRequest> &, int errorCode)>

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

◆ QOS

using Aws::Crt::Mqtt::QOS = typedef aws_mqtt_qos

◆ ReturnCode

using Aws::Crt::Mqtt::ReturnCode = typedef aws_mqtt_connect_return_code

Function Documentation

◆ s_cleanUpOnPublishData()

static void Aws::Crt::Mqtt::s_cleanUpOnPublishData ( void *  userData)
static