Configurations of the MQTT Library.
Some configuration settings are C pre-processor constants, and some are function-like macros for logging. They can be set with a #define
in the config file (core_mqtt_config.h) or by using a compiler option such as -D in gcc.
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.
Determines the maximum number of MQTT PUBLISH messages, pending acknowledgment at a time, that are supported for incoming and outgoing direction of messages, separately. QoS 1 and 2 MQTT PUBLISHes require acknowledgment from the server before they can be completed. While they are awaiting the acknowledgment, the client must maintain information about their state. The value of this macro sets the limit on how many simultaneous PUBLISH states an MQTT context maintains, separately, for both incoming and outgoing direction of PUBLISHes.
Possible values: Any positive 32 bit integer.
Default value: 10
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.
Possible values: Any positive integer up to SIZE_MAX.
Default value: 5000
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.
Possible values: Any positive 32 bit integer. Recommended to use a small timeout value.
Default value: 10
The maximum duration between non-empty network transmissions while sending an MQTT packet via the MQTT_ProcessLoop or MQTT_ReceiveLoop API functions. When sending an MQTT packet, the transport send function may be called multiple times until all of the required number of bytes are sent. This timeout represents the maximum duration that is allowed for no data transmission over the network through the transport send function.
If the timeout expires, the MQTT_ProcessLoop and MQTT_ReceiveLoop functions return MQTTSendFailed.
Possible values: Any positive 32 bit integer. Recommended to use a small timeout value.
Default value: 10
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
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.
Default value: Error logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.
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.
Default value: Warning logs are turned off, and no code is generated for calls to the macro in the MQTT library on compilation.
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.
Default value: Info logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.
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.
Default value: Debug logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.