aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Loading...
Searching...
No Matches
MqttTypes.h
Go to the documentation of this file.
1#pragma once
7#include <aws/crt/Types.h>
11
12#include <aws/mqtt/client.h>
13#include <aws/mqtt/v5/mqtt5_client.h>
14
15#include <functional>
16
17namespace Aws
18{
19 namespace Crt
20 {
21 namespace Mqtt
22 {
23 class MqttConnection;
24
41
53 using OnMessageReceivedHandler = std::function<void(
54 MqttConnection &connection,
55 const String &topic,
56 const ByteBuf &payload,
57 bool dup,
58 QOS qos,
59 bool retain)>;
60
70 using OnSubAckHandler = std::function<
71 void(MqttConnection &connection, uint16_t packetId, const String &topic, QOS qos, int errorCode)>;
72
82 using OnMultiSubAckHandler = std::function<void(
83 MqttConnection &connection,
84 uint16_t packetId,
85 const Vector<String> &topics,
86 QOS qos,
87 int errorCode)>;
88
100 std::function<void(MqttConnection &connection, uint16_t packetId, int errorCode)>;
101
106 {
107 /*
108 * Total number of operations submitted to the connection that have not yet been completed. Unacked
109 * operations are a subset of this.
110 */
112
113 /*
114 * Total packet size of operations submitted to the connection that have not yet been completed. Unacked
115 * operations are a subset of this.
116 */
118
119 /*
120 * Total number of operations that have been sent to the server and are waiting for a corresponding ACK
121 * before they can be completed.
122 */
124
125 /*
126 * Total packet size of operations that have been sent to the server and are waiting for a corresponding
127 * ACK before they can be completed.
128 */
130 };
131 } // namespace Mqtt
132 } // namespace Crt
133} // namespace Aws
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition SocketOptions.h:70
Definition TlsOptions.h:318
Definition TlsOptions.h:390
Definition MqttConnection.h:158
Definition Optional.h:19
std::function< void(MqttConnection &connection, uint16_t packetId, const Vector< String > &topics, QOS qos, int errorCode)> OnMultiSubAckHandler
Definition MqttTypes.h:87
std::function< void(MqttConnection &connection, const String &topic, const ByteBuf &payload, bool dup, QOS qos, bool retain)> OnMessageReceivedHandler
Definition MqttTypes.h:59
std::function< void(MqttConnection &connection, uint16_t packetId, int errorCode)> OnOperationCompleteHandler
Definition MqttTypes.h:100
aws_mqtt_qos QOS
Definition Types.h:40
std::function< void(MqttConnection &connection, uint16_t packetId, const String &topic, QOS qos, int errorCode)> OnSubAckHandler
Definition MqttTypes.h:71
aws_allocator Allocator
Definition Allocator.h:14
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
uint64_t unackedOperationSize
Definition MqttTypes.h:129
uint64_t incompleteOperationCount
Definition MqttTypes.h:111
uint64_t unackedOperationCount
Definition MqttTypes.h:123
uint64_t incompleteOperationSize
Definition MqttTypes.h:117
Definition MqttTypes.h:29
Crt::Io::TlsConnectionOptions tlsConnectionOptions
Definition MqttTypes.h:34
Crt::Optional< AWSIoTMetrics > sdkMetrics
Definition MqttTypes.h:38
bool useWebsocket
Definition MqttTypes.h:35
uint32_t port
Definition MqttTypes.h:31
Crt::Io::TlsContext tlsContext
Definition MqttTypes.h:33
Io::SocketOptions socketOptions
Definition MqttTypes.h:32
const char * hostName
Definition MqttTypes.h:30
Allocator * allocator
Definition MqttTypes.h:39
bool useTls
Definition MqttTypes.h:36
bool enableMetrics
Definition MqttTypes.h:37