MQTT C Client Libraries Internals
Data Fields
MQTTAsync_connectOptions Struct Reference

MQTTAsync_connectOptions defines several settings that control the way the client connects to an MQTT server. More...

#include <MQTTAsync.h>

Collaboration diagram for MQTTAsync_connectOptions:
Collaboration graph
[legend]

Data Fields

char struct_id [4]
 The eyecatcher for this structure. More...
 
int struct_version
 The version number of this structure. More...
 
int keepAliveInterval
 The "keep alive" interval, measured in seconds, defines the maximum time that should pass without communication between the client and the server The client will ensure that at least one message travels across the network within each keep alive period. More...
 
int cleansession
 This is a boolean value. More...
 
int maxInflight
 This controls how many messages can be in-flight simultaneously.
 
MQTTAsync_willOptionswill
 This is a pointer to an MQTTAsync_willOptions structure. More...
 
const char * username
 MQTT servers that support the MQTT v3.1 protocol provide authentication and authorisation by user name and password. More...
 
const char * password
 MQTT servers that support the MQTT v3.1 protocol provide authentication and authorisation by user name and password. More...
 
int connectTimeout
 The time interval in seconds to allow a connect to complete.
 
int retryInterval
 The time interval in seconds after which unacknowledged publish requests are retried during a TCP session. More...
 
MQTTAsync_SSLOptionsssl
 This is a pointer to an MQTTAsync_SSLOptions structure. More...
 
MQTTAsync_onSuccess * onSuccess
 A pointer to a callback function to be called if the connect successfully completes. More...
 
MQTTAsync_onFailure * onFailure
 A pointer to a callback function to be called if the connect fails. More...
 
void * context
 
int serverURIcount
 The number of entries in the serverURIs array.
 
char *const * serverURIs
 
int MQTTVersion
 Sets the version of MQTT to be used on the connect. More...
 
int automaticReconnect
 Reconnect automatically in the case of a connection being lost. More...
 
int minRetryInterval
 The minimum automatic reconnect retry interval in seconds. More...
 
int maxRetryInterval
 The maximum automatic reconnect retry interval in seconds. More...
 
struct {
   int   len
 binary password length
 
   const void *   data
 binary password data
 
binarypwd
 Optional binary password. More...
 
int cleanstart
 
MQTTPropertiesconnectProperties
 MQTT V5 properties for connect.
 
MQTTPropertieswillProperties
 MQTT V5 properties for the will message in the connect.
 
MQTTAsync_onSuccess5 * onSuccess5
 A pointer to a callback function to be called if the connect successfully completes. More...
 
MQTTAsync_onFailure5 * onFailure5
 A pointer to a callback function to be called if the connect fails. More...
 
const MQTTAsync_nameValuehttpHeaders
 HTTP headers for websockets.
 
const char * httpProxy
 HTTP proxy.
 
const char * httpsProxy
 HTTPS proxy.
 

Detailed Description

MQTTAsync_connectOptions defines several settings that control the way the client connects to an MQTT server.

Suitable default values are set in the following initializers:

Field Documentation

◆ automaticReconnect

int MQTTAsync_connectOptions::automaticReconnect

Reconnect automatically in the case of a connection being lost.

0=false, 1=true

◆ binarypwd

struct { ... } MQTTAsync_connectOptions::binarypwd

Optional binary password.

Only checked and used if the password option is NULL

◆ cleansession

int MQTTAsync_connectOptions::cleansession

This is a boolean value.

The cleansession setting controls the behaviour of both the client and the server at connection and disconnection time. The client and server both maintain session state information. This information is used to ensure "at least once" and "exactly once" delivery, and "exactly once" receipt of messages. Session state also includes subscriptions created by an MQTT client. You can choose to maintain or discard state information between sessions.

When cleansession is true, the state information is discarded at connect and disconnect. Setting cleansession to false keeps the state information. When you connect an MQTT client application with MQTTAsync_connect(), the client identifies the connection using the client identifier and the address of the server. The server checks whether session information for this client has been saved from a previous connection to the server. If a previous session still exists, and cleansession=true, then the previous session information at the client and server is cleared. If cleansession=false, the previous session is resumed. If no previous session exists, a new session is started.

◆ context

void* MQTTAsync_connectOptions::context
A pointer to any application-specific context. The

the context pointer is passed to success or failure callback functions to provide access to the context information in the callback.

◆ keepAliveInterval

int MQTTAsync_connectOptions::keepAliveInterval

The "keep alive" interval, measured in seconds, defines the maximum time that should pass without communication between the client and the server The client will ensure that at least one message travels across the network within each keep alive period.

In the absence of a data-related message during the time period, the client sends a very small MQTT "ping" message, which the server will acknowledge. The keep alive interval enables the client to detect when the server is no longer available without having to wait for the long TCP/IP timeout. Set to 0 if you do not want any keep alive processing.

◆ maxRetryInterval

int MQTTAsync_connectOptions::maxRetryInterval

The maximum automatic reconnect retry interval in seconds.

The doubling stops here on failed retries.

◆ minRetryInterval

int MQTTAsync_connectOptions::minRetryInterval

The minimum automatic reconnect retry interval in seconds.

Doubled on each failed retry.

◆ MQTTVersion

int MQTTAsync_connectOptions::MQTTVersion

Sets the version of MQTT to be used on the connect.

MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if that fails, fall back to 3.1 MQTTVERSION_3_1 (3) = only try version 3.1 MQTTVERSION_3_1_1 (4) = only try version 3.1.1

◆ onFailure

MQTTAsync_onFailure* MQTTAsync_connectOptions::onFailure

A pointer to a callback function to be called if the connect fails.

Can be set to NULL, in which case no indication of unsuccessful completion will be received.

◆ onFailure5

MQTTAsync_onFailure5* MQTTAsync_connectOptions::onFailure5

A pointer to a callback function to be called if the connect fails.

Can be set to NULL, in which case no indication of unsuccessful completion will be received.

◆ onSuccess

MQTTAsync_onSuccess* MQTTAsync_connectOptions::onSuccess

A pointer to a callback function to be called if the connect successfully completes.

Can be set to NULL, in which case no indication of successful completion will be received.

◆ onSuccess5

MQTTAsync_onSuccess5* MQTTAsync_connectOptions::onSuccess5

A pointer to a callback function to be called if the connect successfully completes.

Can be set to NULL, in which case no indication of successful completion will be received.

◆ password

const char* MQTTAsync_connectOptions::password

MQTT servers that support the MQTT v3.1 protocol provide authentication and authorisation by user name and password.

This is the password parameter.

◆ retryInterval

int MQTTAsync_connectOptions::retryInterval

The time interval in seconds after which unacknowledged publish requests are retried during a TCP session.

With MQTT 3.1.1 and later, retries are not required except on reconnect. 0 turns off in-session retries, and is the recommended setting. Adding retries to an already overloaded network only exacerbates the problem.

◆ serverURIs

char* const* MQTTAsync_connectOptions::serverURIs
An array of null-terminated strings specifying the servers to

which the client will connect. Each string 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 domain name. For instance, to connect to a server running on the local machines with the default MQTT port, specify tcp://localhost:1883.

◆ ssl

MQTTAsync_SSLOptions* MQTTAsync_connectOptions::ssl

This is a pointer to an MQTTAsync_SSLOptions structure.

If your application does not make use of SSL, set this pointer to NULL.

◆ struct_id

char MQTTAsync_connectOptions::struct_id[4]

The eyecatcher for this structure.

must be MQTC.

◆ struct_version

int MQTTAsync_connectOptions::struct_version

The version number of this structure.

Must be 0, 1, 2, 3 4 5 6, 7 or 8. 0 signifies no SSL options and no serverURIs 1 signifies no serverURIs 2 signifies no MQTTVersion 3 signifies no automatic reconnect options 4 signifies no binary password option (just string) 5 signifies no MQTTV5 properties 6 signifies no HTTP headers option 7 signifies no HTTP proxy and HTTPS proxy options

◆ username

const char* MQTTAsync_connectOptions::username

MQTT servers that support the MQTT v3.1 protocol provide authentication and authorisation by user name and password.

This is the user name parameter.

◆ will

MQTTAsync_willOptions* MQTTAsync_connectOptions::will

This is a pointer to an MQTTAsync_willOptions structure.

If your application does not make use of the Last Will and Testament feature, set this pointer to NULL.


The documentation for this struct was generated from the following file: