coreMQTT v2.3.1
MQTT 3.1.1 Client Library
 
Loading...
Searching...
No Matches
core_mqtt_config_defaults.h File Reference

This represents the default values for the configuration macros for the MQTT library. More...

#include "core_mqtt_config.h"

Go to the source code of this file.

Macros

#define MQTT_DO_NOT_USE_CUSTOM_CONFIG
 Define this macro to build the MQTT library without the custom config file core_mqtt_config.h.
 
#define MQTT_SUB_UNSUB_MAX_VECTORS   ( 4U )
 Maximum number of vectors in subscribe and unsubscribe packet.
 
#define MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT   ( 5U )
 The number of retries for receiving CONNACK.
 
#define MQTT_PINGRESP_TIMEOUT_MS   ( 5000U )
 Maximum number of milliseconds to wait for a ping response to a ping request as part of the keep-alive mechanism.
 
#define PACKET_TX_TIMEOUT_MS   ( 30000U )
 Maximum number of milliseconds of TX inactivity to wait before initiating a PINGREQ.
 
#define PACKET_RX_TIMEOUT_MS   ( 30000U )
 Maximum number of milliseconds of RX inactivity to wait before initiating a PINGREQ.
 
#define MQTT_RECV_POLLING_TIMEOUT_MS   ( 10U )
 The maximum duration between non-empty network reads while receiving an MQTT packet via the MQTT_ProcessLoop or MQTT_ReceiveLoop API functions.
 
#define MQTT_SEND_TIMEOUT_MS   ( 20000U )
 The maximum duration allowed to send an MQTT packet over the transport interface.
 
#define LogError(message)
 Macro that is called in the MQTT library for logging "Error" level messages.
 
#define LogWarn(message)
 Macro that is called in the MQTT library for logging "Warning" level messages.
 
#define LogInfo(message)
 Macro that is called in the MQTT library for logging "Info" level messages.
 
#define LogDebug(message)
 Macro that is called in the MQTT library for logging "Debug" level messages.
 

Detailed Description

This represents the default values for the configuration macros for the MQTT library.

Note
This file SHOULD NOT be modified. If custom values are needed for any configuration macro, a core_mqtt_config.h file should be provided to the MQTT library to override the default values defined in this file. To use the custom config file, the MQTT_DO_NOT_USE_CUSTOM_CONFIG preprocessor macro SHOULD NOT be set.

Macro Definition Documentation

◆ MQTT_DO_NOT_USE_CUSTOM_CONFIG

#define MQTT_DO_NOT_USE_CUSTOM_CONFIG

Define this macro to build the MQTT library without the custom config file core_mqtt_config.h.

Without the custom config, the MQTT library builds with default values of config macros defined in core_mqtt_config_defaults.h file.

If a custom config is provided, then MQTT_DO_NOT_USE_CUSTOM_CONFIG should not be defined.

◆ MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT

#define MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT   ( 5U )

The number of retries for receiving CONNACK.

The MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT will be used only when the timeoutMs parameter of MQTT_Connect is passed as 0 . The transport receive for CONNACK will be retried MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT times before timing out. A value of 0 for this config will cause the transport receive for CONNACK to be invoked only once.

Possible values: Any positive 16 bit integer.
Default value: 5

◆ MQTT_PINGRESP_TIMEOUT_MS

#define MQTT_PINGRESP_TIMEOUT_MS   ( 5000U )

Maximum number of milliseconds to wait for a ping response to a ping request as part of the keep-alive mechanism.

If a ping response is not received before this timeout, then MQTT_ProcessLoop will return MQTTKeepAliveTimeout.

Note
If this value is more than half of the keep alive interval, and the server does not receive the previous ping request, then it is likely that the server will disconnect the client before MQTTKeepAliveTimeout can be returned.
If a dummy implementation of the MQTTGetCurrentTimeFunc_t timer function, is supplied to the library, then the keep-alive mechanism is not supported by the MQTT_ProcessLoop API function. In that case, the value of MQTT_PINGRESP_TIMEOUT_MS is irrelevant to the behavior of the library.

Possible values: Any positive integer up to SIZE_MAX.
Default value: 5000

◆ PACKET_TX_TIMEOUT_MS

#define PACKET_TX_TIMEOUT_MS   ( 30000U )

Maximum number of milliseconds of TX inactivity to wait before initiating a PINGREQ.

Note
If this value is less than the keep alive interval than it will be used instead.

Possible values: Any positive integer up to SIZE_MAX.
Default value: '30000'

◆ PACKET_RX_TIMEOUT_MS

#define PACKET_RX_TIMEOUT_MS   ( 30000U )

Maximum number of milliseconds of RX inactivity to wait before initiating a PINGREQ.

Possible values: Any positive integer up to SIZE_MAX.
Default value: '30000'

◆ MQTT_RECV_POLLING_TIMEOUT_MS

#define MQTT_RECV_POLLING_TIMEOUT_MS   ( 10U )

The maximum duration between non-empty network reads while receiving an MQTT packet via the MQTT_ProcessLoop or MQTT_ReceiveLoop API functions.

When an incoming MQTT packet is detected, the transport receive function may be called multiple times until all of the expected number of bytes of the packet are received. This timeout represents the maximum polling duration that is allowed without any data reception from the network for the incoming packet.

If the timeout expires, the MQTT_ProcessLoop and MQTT_ReceiveLoop functions return MQTTRecvFailed.

Note
If a dummy implementation of the MQTTGetCurrentTimeFunc_t timer function, is supplied to the library, then MQTT_RECV_POLLING_TIMEOUT_MS MUST be set to 0.

Possible values: Any positive 32 bit integer. Recommended to use a small timeout value.
Default value: 10

◆ MQTT_SEND_TIMEOUT_MS

#define MQTT_SEND_TIMEOUT_MS   ( 20000U )

The maximum duration allowed to send an MQTT packet over the transport interface.

When sending an MQTT packet, the transport send or writev functions may be called multiple times until all of the required number of bytes are sent. This timeout represents the maximum duration that is allowed to send the MQTT packet while calling the transport send or writev functions.

If the timeout expires, MQTTSendFailed will be returned by the public API functions.

Note
If a dummy implementation of the MQTTGetCurrentTimeFunc_t timer function, is supplied to the library, then MQTT_SEND_TIMEOUT_MS MUST be set to 0.

Possible values: Any positive 32 bit integer.
Default value: 20000

◆ LogError

#define LogError (   message)

Macro that is called in the MQTT library for logging "Error" level messages.

To enable error level logging in the MQTT library, this macro should be mapped to the application-specific logging implementation that supports error logging.

Note
This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Error logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.

◆ LogWarn

#define LogWarn (   message)

Macro that is called in the MQTT library for logging "Warning" level messages.

To enable warning level logging in the MQTT library, this macro should be mapped to the application-specific logging implementation that supports warning logging.

Note
This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Warning logs are turned off, and no code is generated for calls to the macro in the MQTT library on compilation.

◆ LogInfo

#define LogInfo (   message)

Macro that is called in the MQTT library for logging "Info" level messages.

To enable info level logging in the MQTT library, this macro should be mapped to the application-specific logging implementation that supports info logging.

Note
This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Info logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.

◆ LogDebug

#define LogDebug (   message)

Macro that is called in the MQTT library for logging "Debug" level messages.

To enable debug level logging from MQTT library, this macro should be mapped to the application-specific logging implementation that supports debug logging.

Note
This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Debug logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.