Classes | Macros | Typedefs | Enumerations | Functions
MQTTAsync.h File Reference
#include "MQTTExportDeclarations.h"
#include "MQTTProperties.h"
#include "MQTTReasonCodes.h"
#include "MQTTSubscribeOpts.h"
#include "MQTTClientPersistence.h"
Include dependency graph for MQTTAsync.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MQTTAsync_connectData
 
struct  MQTTAsync_connectOptions
 
struct  MQTTAsync_createOptions
 
struct  MQTTAsync_disconnectOptions
 
struct  MQTTAsync_failureData
 
struct  MQTTAsync_failureData5
 
struct  MQTTAsync_init_options
 
struct  MQTTAsync_message
 
struct  MQTTAsync_nameValue
 
struct  MQTTAsync_responseOptions
 
struct  MQTTAsync_SSLOptions
 
struct  MQTTAsync_successData
 
struct  MQTTAsync_successData5
 
struct  MQTTAsync_willOptions
 

Macros

#define MQTT_BAD_SUBSCRIBE   0x80
 
#define MQTT_SSL_VERSION_DEFAULT   0
 
#define MQTT_SSL_VERSION_TLS_1_0   1
 
#define MQTT_SSL_VERSION_TLS_1_1   2
 
#define MQTT_SSL_VERSION_TLS_1_2   3
 
#define MQTTASYNC_0_LEN_WILL_TOPIC   -17
 
#define MQTTASYNC_BAD_MQTT_OPTION   -15
 
#define MQTTASYNC_BAD_PROTOCOL   -14
 
#define MQTTASYNC_BAD_QOS   -9
 
#define MQTTASYNC_BAD_STRUCTURE   -8
 
#define MQTTASYNC_BAD_UTF8_STRING   -5
 
#define MQTTAsync_callOptions_initializer   MQTTAsync_responseOptions_initializer
 
#define MQTTAsync_connectData_initializer   {{'M', 'Q', 'C', 'D'}, 0, NULL, {0, NULL}}
 
#define MQTTAsync_connectOptions_initializer
 
#define MQTTAsync_connectOptions_initializer5
 
#define MQTTAsync_connectOptions_initializer5_ws
 
#define MQTTAsync_connectOptions_initializer_ws
 
#define MQTTAsync_createOptions_initializer   { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_DEFAULT, 0, 0, 1, 1}
 
#define MQTTAsync_createOptions_initializer5   { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_5, 0, 0, 1, 1}
 
#define MQTTASYNC_DISCONNECTED   -3
 
#define MQTTAsync_disconnectOptions_initializer
 
#define MQTTAsync_disconnectOptions_initializer5
 
#define MQTTASYNC_FAILURE   -1
 
#define MQTTAsync_failureData5_initializer   {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL}
 
#define MQTTAsync_init_options_initializer   { {'M', 'Q', 'T', 'G'}, 0, 0 }
 
#define MQTTASYNC_MAX_BUFFERED_MESSAGES   -12
 
#define MQTTASYNC_MAX_MESSAGES_INFLIGHT   -4
 
#define MQTTAsync_message_initializer   { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
 
#define MQTTASYNC_NO_MORE_MSGIDS   -10
 
#define MQTTASYNC_NULL_PARAMETER   -6
 
#define MQTTASYNC_OPERATION_INCOMPLETE   -11
 
#define MQTTASYNC_PERSISTENCE_ERROR   -2
 
#define MQTTAsync_responseOptions_initializer   { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL}
 
#define MQTTASYNC_SSL_NOT_SUPPORTED   -13
 
#define MQTTAsync_SSLOptions_initializer   { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }
 
#define MQTTASYNC_SUCCESS   0
 
#define MQTTAsync_successData5_initializer   {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer}
 
#define MQTTASYNC_TOPICNAME_TRUNCATED   -7
 
#define MQTTASYNC_TRUE   1
 
#define MQTTAsync_willOptions_initializer   { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, { 0, NULL } }
 
#define MQTTASYNC_WRONG_MQTT_VERSION   -16
 
#define MQTTVERSION_3_1   3
 
#define MQTTVERSION_3_1_1   4
 
#define MQTTVERSION_5   5
 
#define MQTTVERSION_DEFAULT   0
 

Typedefs

typedef void * MQTTAsync
 
typedef struct MQTTAsync_responseOptions MQTTAsync_callOptions
 
typedef void MQTTAsync_connected(void *context, char *cause)
 
typedef void MQTTAsync_connectionLost(void *context, char *cause)
 
typedef void MQTTAsync_deliveryComplete(void *context, MQTTAsync_token token)
 
typedef void MQTTAsync_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
 
typedef int MQTTAsync_messageArrived(void *context, char *topicName, int topicLen, MQTTAsync_message *message)
 
typedef void MQTTAsync_onFailure(void *context, MQTTAsync_failureData *response)
 
typedef void MQTTAsync_onFailure5(void *context, MQTTAsync_failureData5 *response)
 
typedef void MQTTAsync_onSuccess(void *context, MQTTAsync_successData *response)
 
typedef void MQTTAsync_onSuccess5(void *context, MQTTAsync_successData5 *response)
 
typedef struct MQTTAsync_responseOptions MQTTAsync_responseOptions
 
typedef int MQTTAsync_token
 
typedef void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char *message)
 
typedef int MQTTAsync_updateConnectOptions(void *context, MQTTAsync_connectData *data)
 

Enumerations

enum  MQTTASYNC_TRACE_LEVELS {
  MQTTASYNC_TRACE_MAXIMUM = 1, MQTTASYNC_TRACE_MEDIUM, MQTTASYNC_TRACE_MINIMUM, MQTTASYNC_TRACE_PROTOCOL,
  MQTTASYNC_TRACE_ERROR, MQTTASYNC_TRACE_SEVERE, MQTTASYNC_TRACE_FATAL
}
 

Functions

LIBMQTT_API int MQTTAsync_connect (MQTTAsync handle, const MQTTAsync_connectOptions *options)
 
LIBMQTT_API int MQTTAsync_create (MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
 
LIBMQTT_API int MQTTAsync_createWithOptions (MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTAsync_createOptions *options)
 
LIBMQTT_API void MQTTAsync_destroy (MQTTAsync *handle)
 
LIBMQTT_API int MQTTAsync_disconnect (MQTTAsync handle, const MQTTAsync_disconnectOptions *options)
 
LIBMQTT_API void MQTTAsync_free (void *ptr)
 
LIBMQTT_API void MQTTAsync_freeMessage (MQTTAsync_message **msg)
 
LIBMQTT_API int MQTTAsync_getPendingTokens (MQTTAsync handle, MQTTAsync_token **tokens)
 
LIBMQTT_API MQTTAsync_nameValueMQTTAsync_getVersionInfo (void)
 
LIBMQTT_API void MQTTAsync_global_init (MQTTAsync_init_options *inits)
 
LIBMQTT_API int MQTTAsync_isComplete (MQTTAsync handle, MQTTAsync_token token)
 
LIBMQTT_API int MQTTAsync_isConnected (MQTTAsync handle)
 
LIBMQTT_API void * MQTTAsync_malloc (size_t size)
 
LIBMQTT_API int MQTTAsync_reconnect (MQTTAsync handle)
 
LIBMQTT_API int MQTTAsync_send (MQTTAsync handle, const char *destinationName, int payloadlen, const void *payload, int qos, int retained, MQTTAsync_responseOptions *response)
 
LIBMQTT_API int MQTTAsync_sendMessage (MQTTAsync handle, const char *destinationName, const MQTTAsync_message *msg, MQTTAsync_responseOptions *response)
 
LIBMQTT_API int MQTTAsync_setAfterPersistenceRead (MQTTAsync handle, void *context, MQTTPersistence_afterRead *co)
 
LIBMQTT_API int MQTTAsync_setBeforePersistenceWrite (MQTTAsync handle, void *context, MQTTPersistence_beforeWrite *co)
 
LIBMQTT_API int MQTTAsync_setCallbacks (MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl, MQTTAsync_messageArrived *ma, MQTTAsync_deliveryComplete *dc)
 
LIBMQTT_API int MQTTAsync_setConnected (MQTTAsync handle, void *context, MQTTAsync_connected *co)
 
LIBMQTT_API int MQTTAsync_setConnectionLostCallback (MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl)
 
LIBMQTT_API int MQTTAsync_setDeliveryCompleteCallback (MQTTAsync handle, void *context, MQTTAsync_deliveryComplete *dc)
 
LIBMQTT_API int MQTTAsync_setDisconnected (MQTTAsync handle, void *context, MQTTAsync_disconnected *co)
 
LIBMQTT_API int MQTTAsync_setMessageArrivedCallback (MQTTAsync handle, void *context, MQTTAsync_messageArrived *ma)
 
LIBMQTT_API void MQTTAsync_setTraceCallback (MQTTAsync_traceCallback *callback)
 
LIBMQTT_API void MQTTAsync_setTraceLevel (enum MQTTASYNC_TRACE_LEVELS level)
 
LIBMQTT_API int MQTTAsync_setUpdateConnectOptions (MQTTAsync handle, void *context, MQTTAsync_updateConnectOptions *co)
 
LIBMQTT_API const char * MQTTAsync_strerror (int code)
 
LIBMQTT_API int MQTTAsync_subscribe (MQTTAsync handle, const char *topic, int qos, MQTTAsync_responseOptions *response)
 
LIBMQTT_API int MQTTAsync_subscribeMany (MQTTAsync handle, int count, char *const *topic, int *qos, MQTTAsync_responseOptions *response)
 
LIBMQTT_API int MQTTAsync_unsubscribe (MQTTAsync handle, const char *topic, MQTTAsync_responseOptions *response)
 
LIBMQTT_API int MQTTAsync_unsubscribeMany (MQTTAsync handle, int count, char *const *topic, MQTTAsync_responseOptions *response)
 
LIBMQTT_API int MQTTAsync_waitForCompletion (MQTTAsync handle, MQTTAsync_token token, unsigned long timeout)
 

Macro Definition Documentation

#define MQTT_BAD_SUBSCRIBE   0x80

Bad return code from subscribe, as defined in the 3.1.1 specification

Definition at line 211 of file MQTTAsync.h.

#define MQTT_SSL_VERSION_DEFAULT   0

Definition at line 1016 of file MQTTAsync.h.

#define MQTT_SSL_VERSION_TLS_1_0   1

Definition at line 1017 of file MQTTAsync.h.

#define MQTT_SSL_VERSION_TLS_1_1   2

Definition at line 1018 of file MQTTAsync.h.

#define MQTT_SSL_VERSION_TLS_1_2   3

Definition at line 1019 of file MQTTAsync.h.

#define MQTTASYNC_0_LEN_WILL_TOPIC   -17

Return code: 0 length will topic

Definition at line 189 of file MQTTAsync.h.

#define MQTTASYNC_BAD_MQTT_OPTION   -15

Return code: don't use options for another version of MQTT

Definition at line 181 of file MQTTAsync.h.

#define MQTTASYNC_BAD_PROTOCOL   -14

Return code: protocol prefix in serverURI should be tcp://, ssl://, ws:// or wss:// The TLS enabled prefixes (ssl, wss) are only valid if the TLS version of the library is linked with.

Definition at line 177 of file MQTTAsync.h.

#define MQTTASYNC_BAD_QOS   -9

Return code: A qos parameter is not 0, 1 or 2

Definition at line 155 of file MQTTAsync.h.

#define MQTTASYNC_BAD_STRUCTURE   -8

Return code: A structure parameter does not have the correct eyecatcher and version number.

Definition at line 151 of file MQTTAsync.h.

#define MQTTASYNC_BAD_UTF8_STRING   -5

Return code: An invalid UTF-8 string has been detected.

Definition at line 136 of file MQTTAsync.h.

#define MQTTAsync_callOptions_initializer   MQTTAsync_responseOptions_initializer

Definition at line 750 of file MQTTAsync.h.

#define MQTTAsync_connectData_initializer   {{'M', 'Q', 'C', 'D'}, 0, NULL, {0, NULL}}

Definition at line 471 of file MQTTAsync.h.

#define MQTTAsync_connectOptions_initializer
Value:
{ {'M', 'Q', 'T', 'C'}, 7, 60, 1, 65535, NULL, NULL, NULL, 30, 0,\
NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL}
#define MQTTVERSION_DEFAULT
Definition: MQTTAsync.h:195

Definition at line 1335 of file MQTTAsync.h.

#define MQTTAsync_connectOptions_initializer5
Value:
{ {'M', 'Q', 'T', 'C'}, 7, 60, 0, 65535, NULL, NULL, NULL, 30, 0,\
NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL}
#define MQTTVERSION_5
Definition: MQTTAsync.h:207

Definition at line 1338 of file MQTTAsync.h.

#define MQTTAsync_connectOptions_initializer5_ws
Value:
{ {'M', 'Q', 'T', 'C'}, 7, 45, 0, 65535, NULL, NULL, NULL, 30, 0,\
NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL}
#define MQTTVERSION_5
Definition: MQTTAsync.h:207

Definition at line 1344 of file MQTTAsync.h.

#define MQTTAsync_connectOptions_initializer_ws
Value:
{ {'M', 'Q', 'T', 'C'}, 7, 45, 1, 65535, NULL, NULL, NULL, 30, 0,\
NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL}
#define MQTTVERSION_DEFAULT
Definition: MQTTAsync.h:195

Definition at line 1341 of file MQTTAsync.h.

#define MQTTAsync_createOptions_initializer   { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_DEFAULT, 0, 0, 1, 1}

Definition at line 965 of file MQTTAsync.h.

#define MQTTAsync_createOptions_initializer5   { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_5, 0, 0, 1, 1}

Definition at line 967 of file MQTTAsync.h.

#define MQTTASYNC_DISCONNECTED   -3

Return code: The client is disconnected.

Definition at line 127 of file MQTTAsync.h.

#define MQTTAsync_disconnectOptions_initializer
Value:
{ {'M', 'Q', 'T', 'D'}, 0, 0, NULL, NULL, NULL,\
#define MQTTProperties_initializer

Definition at line 1422 of file MQTTAsync.h.

#define MQTTAsync_disconnectOptions_initializer5
Value:
{ {'M', 'Q', 'T', 'D'}, 1, 0, NULL, NULL, NULL,\
#define MQTTProperties_initializer

Definition at line 1425 of file MQTTAsync.h.

#define MQTTASYNC_FAILURE   -1

Return code: A generic error code indicating the failure of an MQTT client operation.

Definition at line 118 of file MQTTAsync.h.

#define MQTTAsync_failureData5_initializer   {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL}

Definition at line 543 of file MQTTAsync.h.

#define MQTTAsync_init_options_initializer   { {'M', 'Q', 'T', 'G'}, 0, 0 }

Definition at line 227 of file MQTTAsync.h.

#define MQTTASYNC_MAX_BUFFERED_MESSAGES   -12

Return code: no more messages can be buffered

Definition at line 167 of file MQTTAsync.h.

#define MQTTASYNC_MAX_MESSAGES_INFLIGHT   -4

Return code: The maximum number of messages allowed to be simultaneously in-flight has been reached.

Definition at line 132 of file MQTTAsync.h.

#define MQTTAsync_message_initializer   { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }

Definition at line 319 of file MQTTAsync.h.

#define MQTTASYNC_NO_MORE_MSGIDS   -10

Return code: All 65535 MQTT msgids are being used

Definition at line 159 of file MQTTAsync.h.

#define MQTTASYNC_NULL_PARAMETER   -6

Return code: A NULL parameter has been supplied when this is invalid.

Definition at line 140 of file MQTTAsync.h.

#define MQTTASYNC_OPERATION_INCOMPLETE   -11

Return code: the request is being discarded when not complete

Definition at line 163 of file MQTTAsync.h.

#define MQTTASYNC_PERSISTENCE_ERROR   -2

Definition at line 122 of file MQTTAsync.h.

#define MQTTAsync_responseOptions_initializer   { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL}

Definition at line 746 of file MQTTAsync.h.

#define MQTTASYNC_SSL_NOT_SUPPORTED   -13

Return code: Attempting SSL connection using non-SSL version of library

Definition at line 171 of file MQTTAsync.h.

#define MQTTAsync_SSLOptions_initializer   { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }

Definition at line 1144 of file MQTTAsync.h.

#define MQTTASYNC_SUCCESS   0

Return code: No error. Indicates successful completion of an MQTT client operation.

Definition at line 113 of file MQTTAsync.h.

#define MQTTAsync_successData5_initializer   {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer}

Definition at line 616 of file MQTTAsync.h.

#define MQTTASYNC_TOPICNAME_TRUNCATED   -7

Return code: The topic has been truncated (the topic string includes embedded NULL characters). String functions will not access the full topic. Use the topic length value to access the full topic.

Definition at line 146 of file MQTTAsync.h.

#define MQTTASYNC_TRUE   1

Tests whether a request corresponding to a token is complete.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
tokenAn MQTTAsync_token associated with a request.
Returns
1 if the request has been completed, 0 if not.

Definition at line 1591 of file MQTTAsync.h.

#define MQTTAsync_willOptions_initializer   { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, { 0, NULL } }

Definition at line 1014 of file MQTTAsync.h.

#define MQTTASYNC_WRONG_MQTT_VERSION   -16

Return code: call not applicable to the client's version of MQTT

Definition at line 185 of file MQTTAsync.h.

#define MQTTVERSION_3_1   3

MQTT version to connect with: 3.1

Definition at line 199 of file MQTTAsync.h.

#define MQTTVERSION_3_1_1   4

MQTT version to connect with: 3.1.1

Definition at line 203 of file MQTTAsync.h.

#define MQTTVERSION_5   5

MQTT version to connect with: 5

Definition at line 207 of file MQTTAsync.h.

#define MQTTVERSION_DEFAULT   0

Default MQTT version to connect with. Use 3.1.1 then fall back to 3.1

Definition at line 195 of file MQTTAsync.h.

Typedef Documentation

typedef void* MQTTAsync

A handle representing an MQTT client. A valid client handle is available following a successful call to MQTTAsync_create().

Definition at line 239 of file MQTTAsync.h.

A synonym for responseOptions to better reflect its usage since MQTT 5.0

Definition at line 749 of file MQTTAsync.h.

typedef void MQTTAsync_connected(void *context, char *cause)

This is a callback function, which will be called when the client library successfully connects. This is superfluous when the connection is made in response to a MQTTAsync_connect call, because the onSuccess callback can be used. It is intended for use when automatic reconnect is enabled, so that when a reconnection attempt succeeds in the background, the application is notified and can take any required actions.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_setCallbacks(), which contains any application-specific context.
causeThe reason for the disconnection. Currently, cause is always set to NULL.

Definition at line 415 of file MQTTAsync.h.

typedef void MQTTAsync_connectionLost(void *context, char *cause)

This is a callback function. The client application must provide an implementation of this function to enable asynchronous notification of the loss of connection to the server. The function is registered with the client library by passing it as an argument to MQTTAsync_setCallbacks(). It is called by the client library if the client loses its connection to the server. The client application must take appropriate action, such as trying to reconnect or reporting the problem. This function is executed on a separate thread to the one on which the client application is running.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_setCallbacks(), which contains any application-specific context.
causeThe reason for the disconnection. Currently, cause is always set to NULL.

Definition at line 397 of file MQTTAsync.h.

typedef void MQTTAsync_deliveryComplete(void *context, MQTTAsync_token token)

This is a callback function. The client application must provide an implementation of this function to enable asynchronous notification of delivery of messages to the server. The function is registered with the client library by passing it as an argument to MQTTAsync_setCallbacks(). It is called by the client library after the client application has published a message to the server. It indicates that the necessary handshaking and acknowledgements for the requested quality of service (see MQTTAsync_message.qos) have been completed. This function is executed on a separate thread to the one on which the client application is running.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_setCallbacks(), which contains any application-specific context.
tokenThe MQTTAsync_token associated with the published message. Applications can check that all messages have been correctly published by matching the tokens returned from calls to MQTTAsync_send() and MQTTAsync_sendMessage() with the tokens passed to this callback.

Definition at line 377 of file MQTTAsync.h.

typedef void MQTTAsync_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)

This is a callback function, which will be called when the client library receives a disconnect packet.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_setCallbacks(), which contains any application-specific context.
propertiesthe properties in the disconnect packet.
propertiesthe reason code from the disconnect packet Currently, cause is always set to NULL.

Definition at line 429 of file MQTTAsync.h.

typedef int MQTTAsync_messageArrived(void *context, char *topicName, int topicLen, MQTTAsync_message *message)

This is a callback function. The client application must provide an implementation of this function to enable asynchronous receipt of messages. The function is registered with the client library by passing it as an argument to MQTTAsync_setCallbacks(). It is called by the client library when a new message that matches a client subscription has been received from the server. This function is executed on a separate thread to the one on which the client application is running.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_setCallbacks(), which contains any application-specific context.
topicNameThe topic associated with the received message.
topicLenThe length of the topic if there are one more NULL characters embedded in topicName, otherwise topicLen is 0. If topicLen is 0, the value returned by strlen(topicName) can be trusted. If topicLen is greater than 0, the full topic name can be retrieved by accessing topicName as a byte array of length topicLen.
messageThe MQTTAsync_message structure for the received message. This structure contains the message payload and attributes.
Returns
This function must return 0 or 1 indicating whether or not the message has been safely received by the client application.
Returning 1 indicates that the message has been successfully handled. To free the message storage, MQTTAsync_freeMessage must be called. To free the topic name storage, MQTTAsync_free must be called.
Returning 0 indicates that there was a problem. In this case, the client library will reinvoke MQTTAsync_messageArrived() to attempt to deliver the message to the application again. Do not free the message and topic storage when returning 0, otherwise the redelivery will fail.

Definition at line 354 of file MQTTAsync.h.

typedef void MQTTAsync_onFailure(void *context, MQTTAsync_failureData *response)

This is a callback function. The client application must provide an implementation of this function to enable asynchronous notification of the unsuccessful completion of an API call. The function is registered with the client library by passing it as an argument in MQTTAsync_responseOptions.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_responseOptions, which contains any application-specific context.
responseFailure data associated with the API completion.

Definition at line 662 of file MQTTAsync.h.

typedef void MQTTAsync_onFailure5(void *context, MQTTAsync_failureData5 *response)

This is a callback function, the MQTT V5 version of MQTTAsync_onFailure. The application must provide an implementation of this function to enable asynchronous notification of the unsuccessful completion of an API call. The function is registered with the client library by passing it as an argument in MQTTAsync_responseOptions.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_responseOptions, which contains any application-specific context.
responseFailure data associated with the API completion.

Definition at line 677 of file MQTTAsync.h.

typedef void MQTTAsync_onSuccess(void *context, MQTTAsync_successData *response)

This is a callback function. The client application must provide an implementation of this function to enable asynchronous notification of the successful completion of an API call. The function is registered with the client library by passing it as an argument in MQTTAsync_responseOptions.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_responseOptions, which contains any application-specific context.
responseAny success data associated with the API completion.

Definition at line 631 of file MQTTAsync.h.

typedef void MQTTAsync_onSuccess5(void *context, MQTTAsync_successData5 *response)

This is a callback function, the MQTT V5 version of MQTTAsync_onSuccess. The client application must provide an implementation of this function to enable asynchronous notification of the successful completion of an API call. The function is registered with the client library by passing it as an argument in MQTTAsync_responseOptions.

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to the context value originally passed to MQTTAsync_responseOptions, which contains any application-specific context.
responseAny success data associated with the API completion.

Definition at line 647 of file MQTTAsync.h.

Structure to define call options. For MQTT 5.0 there is input data as well as that describing the response method. So there is now also a synonym MQTTAsync_callOptions to better reflect the use. This responseOptions name is kept for backward compatibility.

typedef int MQTTAsync_token

A value representing an MQTT message. A token is returned to the client application when a message is published. The token can then be used to check that the message was successfully delivered to its destination (see MQTTAsync_publish(), MQTTAsync_publishMessage(), MQTTAsync_deliveryComplete(), and MQTTAsync_getPendingTokens()).

Definition at line 249 of file MQTTAsync.h.

typedef void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char *message)

This is a callback function prototype which must be implemented if you want to receive trace information.

Parameters
levelthe trace level of the message returned
messagethe trace message. This is a pointer to a static buffer which will be overwritten on each call. You must copy the data if you want to keep it for later.

Definition at line 1678 of file MQTTAsync.h.

typedef int MQTTAsync_updateConnectOptions(void *context, MQTTAsync_connectData *data)

Definition at line 473 of file MQTTAsync.h.

Enumeration Type Documentation

Enumerator
MQTTASYNC_TRACE_MAXIMUM 
MQTTASYNC_TRACE_MEDIUM 
MQTTASYNC_TRACE_MINIMUM 
MQTTASYNC_TRACE_PROTOCOL 
MQTTASYNC_TRACE_ERROR 
MQTTASYNC_TRACE_SEVERE 
MQTTASYNC_TRACE_FATAL 

Definition at line 1650 of file MQTTAsync.h.

Function Documentation

LIBMQTT_API int MQTTAsync_connect ( MQTTAsync  handle,
const MQTTAsync_connectOptions options 
)

This function attempts to connect a previously-created client (see MQTTAsync_create()) to an MQTT server using the specified options. If you want to enable asynchronous message and status notifications, you must call MQTTAsync_setCallbacks() prior to MQTTAsync_connect().

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
optionsA pointer to a valid MQTTAsync_connectOptions structure.
Returns
MQTTASYNC_SUCCESS if the client connect request was accepted. If the client was unable to connect to the server, an error code is returned via the onFailure callback, if set. Error codes greater than 0 are returned by the MQTT protocol:

1: Connection refused: Unacceptable protocol version
2: Connection refused: Identifier rejected
3: Connection refused: Server unavailable
4: Connection refused: Bad user name or password
5: Connection refused: Not authorized
6-255: Reserved for future use

Definition at line 3480 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_create ( MQTTAsync handle,
const char *  serverURI,
const char *  clientId,
int  persistence_type,
void *  persistence_context 
)

This function creates an MQTT client ready for connection to the specified server and using the specified persistent storage (see MQTTAsync_persistence). See also MQTTAsync_destroy().

Parameters
handleA pointer to an MQTTAsync handle. The handle is populated with a valid client reference following a successful return from this function.
serverURIA null-terminated string specifying the server to which the client will connect. It takes the form protocol://host:port. protocol must be tcp, ssl, ws or wss. The TLS enabled prefixes (ssl, wss) are only valid if a TLS version of the library is linked with. For host, you can specify either an IP address or a host name. For instance, to connect to a server running on the local machines with the default MQTT port, specify tcp://localhost:1883.
clientIdThe client identifier passed to the server when the client connects to it. It is a null-terminated UTF-8 encoded string.
persistence_typeThe type of persistence to be used by the client:
MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or system on which the client is running fails or is switched off, the current state of any in-flight messages is lost and some messages may not be delivered even at QoS1 and QoS2.
MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) persistence mechanism. Status about in-flight messages is held in persistent storage and provides some protection against message loss in the case of unexpected failure.
MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence implementation. Using this type of persistence gives control of the persistence mechanism to the application. The application has to implement the MQTTClient_persistence interface.
persistence_contextIf the application uses MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should be set to NULL. For MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it should be set to the location of the persistence directory (if set to NULL, the persistence directory used is the working directory). Applications that use MQTTCLIENT_PERSISTENCE_USER persistence set this argument to point to a valid MQTTClient_persistence structure.
Returns
MQTTASYNC_SUCCESS if the client is successfully created, otherwise an error code is returned.

Definition at line 737 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_createWithOptions ( MQTTAsync handle,
const char *  serverURI,
const char *  clientId,
int  persistence_type,
void *  persistence_context,
MQTTAsync_createOptions options 
)

Definition at line 575 of file MQTTAsync.c.

LIBMQTT_API void MQTTAsync_destroy ( MQTTAsync handle)

This function frees the memory allocated to an MQTT client (see MQTTAsync_create()). It should be called when the client is no longer required.

Parameters
handleA pointer to the handle referring to the MQTTAsync structure to be freed.

Definition at line 2554 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_disconnect ( MQTTAsync  handle,
const MQTTAsync_disconnectOptions options 
)

This function attempts to disconnect the client from the MQTT server. In order to allow the client time to complete handling of messages that are in-flight when this function is called, a timeout period is specified. When the timeout period has expired, the client disconnects even if there are still outstanding message acknowledgements. The next time the client connects to the same server, any QoS 1 or 2 messages which have not completed will be retried depending on the cleansession settings for both the previous and the new connection (see MQTTAsync_connectOptions.cleansession and MQTTAsync_connect()).

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
optionsThe client delays disconnection for up to this time (in milliseconds) in order to allow in-flight message transfers to complete.
Returns
MQTTASYNC_SUCCESS if the client successfully disconnects from the server. An error code is returned if the client was unable to disconnect from the server

Definition at line 3923 of file MQTTAsync.c.

LIBMQTT_API void MQTTAsync_free ( void *  ptr)

This function frees memory allocated by the MQTT C client library, especially the topic name. This is needed on Windows when the client library and application program have been compiled with different versions of the C compiler. It is thus good policy to always use this function when freeing any MQTT C client- allocated memory.

Parameters
ptrThe pointer to the client library storage to be freed.

Definition at line 2626 of file MQTTAsync.c.

LIBMQTT_API void MQTTAsync_freeMessage ( MQTTAsync_message **  msg)

This function frees memory allocated to an MQTT message, including the additional memory allocated to the message payload. The client application calls this function when the message has been fully processed. Important note: This function does not free the memory allocated to a message topic string. It is the responsibility of the client application to free this memory using the MQTTAsync_free() library function.

Parameters
msgThe address of a pointer to the MQTTAsync_message structure to be freed.

Definition at line 2615 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_getPendingTokens ( MQTTAsync  handle,
MQTTAsync_token **  tokens 
)

This function sets a pointer to an array of tokens for messages that are currently in-flight (pending completion).

Important note: The memory used to hold the array of tokens is malloc()'d in this function. The client application is responsible for freeing this memory when it is no longer required.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
tokensThe address of a pointer to an MQTTAsync_token. When the function returns successfully, the pointer is set to point to an array of tokens representing messages pending completion. The last member of the array is set to -1 to indicate there are no more tokens. If no tokens are pending, the pointer is set to NULL.
Returns
MQTTASYNC_SUCCESS if the function returns successfully. An error code is returned if there was a problem obtaining the list of pending tokens.

Definition at line 4737 of file MQTTAsync.c.

LIBMQTT_API MQTTAsync_nameValue* MQTTAsync_getVersionInfo ( void  )

This function returns version information about the library. no trace information will be returned. The default trace level is MQTTASYNC_TRACE_MINIMUM

Returns
an array of strings describing the library. The last entry is a NULL pointer.

Definition at line 4909 of file MQTTAsync.c.

LIBMQTT_API void MQTTAsync_global_init ( MQTTAsync_init_options inits)

Global init of mqtt library. Call once on program start to set global behaviour. handle_openssl_init - if mqtt library should handle openssl init (1) or rely on the caller to init it before using mqtt (0)

Definition at line 79 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_isComplete ( MQTTAsync  handle,
MQTTAsync_token  token 
)

Definition at line 4803 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_isConnected ( MQTTAsync  handle)

This function allows the client application to test whether or not a client is currently connected to the MQTT server.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
Returns
Boolean true if the client is connected, otherwise false.

Definition at line 3932 of file MQTTAsync.c.

LIBMQTT_API void* MQTTAsync_malloc ( size_t  size)

This function is used to allocate memory to be used or freed by the MQTT C client library, especially the data in the MQTTPersistence_afterRead and MQTTPersistence_beforeWrite callbacks. This is needed on Windows when the client library and application program have been compiled with different versions of the C compiler.

Parameters
sizeThe size of the memory to be allocated.

Definition at line 2634 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_reconnect ( MQTTAsync  handle)

Reconnects a client with the previously used connect options. Connect must have previously been called for this to work.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 1545 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_send ( MQTTAsync  handle,
const char *  destinationName,
int  payloadlen,
const void *  payload,
int  qos,
int  retained,
MQTTAsync_responseOptions response 
)

This function attempts to publish a message to a given topic (see also MQTTAsync_sendMessage()). An MQTTAsync_token is issued when this function returns successfully. If the client application needs to test for successful delivery of messages, a callback should be set (see MQTTAsync_onSuccess() and MQTTAsync_deliveryComplete()).

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
destinationNameThe topic associated with this message.
payloadlenThe length of the payload in bytes.
payloadA pointer to the byte array payload of the message.
qosThe qos of the message.
retainedThe retained flag for the message.
responseA pointer to an MQTTAsync_responseOptions structure. Used to set callback functions. This is optional and can be set to NULL.
Returns
MQTTASYNC_SUCCESS if the message is accepted for publication. An error code is returned if there was a problem accepting the message.

Definition at line 4230 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_sendMessage ( MQTTAsync  handle,
const char *  destinationName,
const MQTTAsync_message msg,
MQTTAsync_responseOptions response 
)

This function attempts to publish a message to a given topic (see also MQTTAsync_publish()). An MQTTAsync_token is issued when this function returns successfully. If the client application needs to test for successful delivery of messages, a callback should be set (see MQTTAsync_onSuccess() and MQTTAsync_deliveryComplete()).

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
destinationNameThe topic associated with this message.
msgA pointer to a valid MQTTAsync_message structure containing the payload and attributes of the message to be published.
responseA pointer to an MQTTAsync_responseOptions structure. Used to set callback functions.
Returns
MQTTASYNC_SUCCESS if the message is accepted for publication. An error code is returned if there was a problem accepting the message.

Definition at line 4328 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setAfterPersistenceRead ( MQTTAsync  handle,
void *  context,
MQTTPersistence_afterRead co 
)

Sets the MQTTPersistence_afterRead() callback function for a client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to the callback function to provide access to the context information in the callback.
coA pointer to an MQTTPersistence_beforeWrite() callback function. NULL removes the callback setting.

Definition at line 3244 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setBeforePersistenceWrite ( MQTTAsync  handle,
void *  context,
MQTTPersistence_beforeWrite co 
)

Sets the MQTTPersistence_beforeWrite() callback function for a client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to the callback function to provide access to the context information in the callback.
coA pointer to an MQTTPersistence_beforeWrite() callback function. NULL removes the callback setting.

Definition at line 3222 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setCallbacks ( MQTTAsync  handle,
void *  context,
MQTTAsync_connectionLost cl,
MQTTAsync_messageArrived ma,
MQTTAsync_deliveryComplete dc 
)

This function sets the global callback functions for a specific client. If your client application doesn't use a particular callback, set the relevant parameter to NULL. Any necessary message acknowledgements and status communications are handled in the background without any intervention from the client application. If you do not set a messageArrived callback function, you will not be notified of the receipt of any messages as a result of a subscription.

Note: The MQTT client must be disconnected when this function is called.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to each of the callback functions to provide access to the context information in the callback.
clA pointer to an MQTTAsync_connectionLost() callback function. You can set this to NULL if your application doesn't handle disconnections.
maA pointer to an MQTTAsync_messageArrived() callback function. If this callback is not set, an error will be returned. You must set this callback because otherwise there would be no way to deliver any incoming messages.
dcA pointer to an MQTTAsync_deliveryComplete() callback function. You can set this to NULL if you do not want to check for successful delivery.
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 3062 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setConnected ( MQTTAsync  handle,
void *  context,
MQTTAsync_connected co 
)

Sets the MQTTAsync_connected() callback function for a client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to each of the callback functions to provide access to the context information in the callback.
coA pointer to an MQTTAsync_connected() callback function. NULL removes the callback setting.
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 3178 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setConnectionLostCallback ( MQTTAsync  handle,
void *  context,
MQTTAsync_connectionLost cl 
)

This function sets the callback function for a connection lost event for a specific client. Any necessary message acknowledgements and status communications are handled in the background without any intervention from the client application.

Note: The MQTT client must be disconnected when this function is called.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed the callback functions to provide access to the context information in the callback.
clA pointer to an MQTTAsync_connectionLost() callback function. You can set this to NULL if your application doesn't handle disconnections.
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 3088 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setDeliveryCompleteCallback ( MQTTAsync  handle,
void *  context,
MQTTAsync_deliveryComplete dc 
)

This function sets the callback function for a delivery complete event for a specific client. Any necessary message acknowledgements and status communications are handled in the background without any intervention from the client application.

Note: The MQTT client must be disconnected when this function is called.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to the callback functions to provide access to the context information in the callback.
dcA pointer to an MQTTAsync_deliveryComplete() callback function. You can set this to NULL if you do not want to check for successful delivery.
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 3133 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setDisconnected ( MQTTAsync  handle,
void *  context,
MQTTAsync_disconnected co 
)

Sets the MQTTAsync_disconnected() callback function for a client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().

Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be called within this callback.

Parameters
contextA pointer to any application-specific context. The the context pointer is passed to each of the callback functions to provide access to the context information in the callback.
coA pointer to an MQTTAsync_connected() callback function. NULL removes the callback setting.
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 3156 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setMessageArrivedCallback ( MQTTAsync  handle,
void *  context,
MQTTAsync_messageArrived ma 
)

This function sets the callback function for a message arrived event for a specific client. Any necessary message acknowledgements and status communications are handled in the background without any intervention from the client application. If you do not set a messageArrived callback function, you will not be notified of the receipt of any messages as a result of a subscription.

Note: The MQTT client must be disconnected when this function is called.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to the callback functions to provide access to the context information in the callback.
maA pointer to an MQTTAsync_messageArrived() callback function. You can set this to NULL if your application doesn't handle receipt of messages.
Returns
MQTTASYNC_SUCCESS if the callbacks were correctly set, MQTTASYNC_FAILURE if an error occurred.

Definition at line 3111 of file MQTTAsync.c.

LIBMQTT_API void MQTTAsync_setTraceCallback ( MQTTAsync_traceCallback callback)

This function sets the trace callback if needed. If set to NULL, no trace information will be returned. The default trace level is MQTTASYNC_TRACE_MINIMUM.

Parameters
callbacka pointer to the function which will handle the trace information

Definition at line 4903 of file MQTTAsync.c.

LIBMQTT_API void MQTTAsync_setTraceLevel ( enum MQTTASYNC_TRACE_LEVELS  level)

This function sets the level of trace information which will be returned in the trace callback.

Parameters
levelthe trace level required

Definition at line 4897 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_setUpdateConnectOptions ( MQTTAsync  handle,
void *  context,
MQTTAsync_updateConnectOptions co 
)

Sets the MQTTAsync_updateConnectOptions() callback function for a client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
contextA pointer to any application-specific context. The the context pointer is passed to each of the callback functions to provide access to the context information in the callback.
coA pointer to an MQTTAsync_updateConnectOptions() callback function. NULL removes the callback setting.

Definition at line 3200 of file MQTTAsync.c.

LIBMQTT_API const char* MQTTAsync_strerror ( int  code)

Returns a pointer to a string representation of the error code, or NULL. Do not free after use. Returns NULL if the error code is unknown.

Parameters
codethe MQTTASYNC_ return code.
Returns
a static string representation of the error code.

Definition at line 4944 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_subscribe ( MQTTAsync  handle,
const char *  topic,
int  qos,
MQTTAsync_responseOptions response 
)

This function attempts to subscribe a client to a single topic, which may contain wildcards (see wildcard). This call also specifies the qos requested for the subscription (see also MQTTAsync_subscribeMany()).

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
topicThe subscription topic, which may include wildcards.
qosThe requested quality of service for the subscription.
responseA pointer to a response options structure. Used to set callback functions.
Returns
MQTTASYNC_SUCCESS if the subscription request is successful. An error code is returned if there was a problem registering the subscription.

Definition at line 4121 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_subscribeMany ( MQTTAsync  handle,
int  count,
char *const *  topic,
int *  qos,
MQTTAsync_responseOptions response 
)

This function attempts to subscribe a client to a list of topics, which may contain wildcards (see wildcard). This call also specifies the qos requested for each topic (see also MQTTAsync_subscribe()).

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
countThe number of topics for which the client is requesting subscriptions.
topicAn array (of length count) of pointers to topics, each of which may include wildcards.
qosAn array (of length count) of qos values. qos[n] is the requested QoS for topic[n].
responseA pointer to a response options structure. Used to set callback functions.
Returns
MQTTASYNC_SUCCESS if the subscription request is successful. An error code is returned if there was a problem registering the subscriptions.

Definition at line 4004 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_unsubscribe ( MQTTAsync  handle,
const char *  topic,
MQTTAsync_responseOptions response 
)

This function attempts to remove an existing subscription made by the specified client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
topicThe topic for the subscription to be removed, which may include wildcards (see wildcard).
responseA pointer to a response options structure. Used to set callback functions.
Returns
MQTTASYNC_SUCCESS if the subscription is removed. An error code is returned if there was a problem removing the subscription.

Definition at line 4209 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_unsubscribeMany ( MQTTAsync  handle,
int  count,
char *const *  topic,
MQTTAsync_responseOptions response 
)

This function attempts to remove existing subscriptions to a list of topics made by the specified client.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
countThe number subscriptions to be removed.
topicAn array (of length count) of pointers to the topics of the subscriptions to be removed, each of which may include wildcards.
responseA pointer to a response options structure. Used to set callback functions.
Returns
MQTTASYNC_SUCCESS if the subscriptions are removed. An error code is returned if there was a problem removing the subscriptions.

Definition at line 4131 of file MQTTAsync.c.

LIBMQTT_API int MQTTAsync_waitForCompletion ( MQTTAsync  handle,
MQTTAsync_token  token,
unsigned long  timeout 
)

Waits for a request corresponding to a token to complete.

Parameters
handleA valid client handle from a successful call to MQTTAsync_create().
tokenAn MQTTAsync_token associated with a request.
timeoutthe maximum time to wait for completion, in milliseconds
Returns
MQTTASYNC_SUCCESS if the request has been completed in the time allocated, MQTTASYNC_FAILURE or MQTTASYNC_DISCONNECTED if not.

Definition at line 4848 of file MQTTAsync.c.



plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:49