text: /******************************************************************************
  * File Name:   core_mqtt_config.h
  *
  * Description: This file contains the configuration macros for the MQTT library.
  *
  * Related Document: See README.md
  *
  *
  *******************************************************************************
  * Copyright 2020-2021, Cypress Semiconductor Corporation (an Infineon company) or
  * an affiliate of Cypress Semiconductor Corporation.  All rights reserved.
  *
  * This software, including source code, documentation and related
  * materials ("Software") is owned by Cypress Semiconductor Corporation
  * or one of its affiliates ("Cypress") and is protected by and subject to
  * worldwide patent protection (United States and foreign),
  * United States copyright laws and international treaty provisions.
  * Therefore, you may use this Software only as provided in the license
  * agreement accompanying the software package from which you
  * obtained this Software ("EULA").
  * If no EULA applies, Cypress hereby grants you a personal, non-exclusive,
  * non-transferable license to copy, modify, and compile the Software
  * source code solely for use in connection with Cypress's
  * integrated circuit products.  Any reproduction, modification, translation,
  * compilation, or representation of this Software except as specified
  * above is prohibited without the express written permission of Cypress.
  *
  * Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND,
  * EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress
  * reserves the right to make changes to the Software without notice. Cypress
  * does not assume any liability arising out of the application or use of the
  * Software or any product or circuit described in the Software. Cypress does
  * not authorize its products for use in any products where a malfunction or
  * failure of the Cypress product may reasonably be expected to result in
  * significant property damage, injury or death ("High Risk Product"). By
  * including Cypress's product in a High Risk Product, the manufacturer
  * of such system or application assumes all risk of such use and in doing
  * so agrees to indemnify Cypress against all liability.
  *******************************************************************************/
  
  #ifndef CORE_MQTT_CONFIG_H_
  #define CORE_MQTT_CONFIG_H_
  
  /**
   * @brief Determines the maximum number of MQTT PUBLISH messages, pending
   * acknowledgement at a time, that are supported for incoming and outgoing
   * direction of messages, separately.
   *
   * QoS 1 and 2 MQTT PUBLISH packets require acknowledgement from the server before
   * they can be completed. While they are awaiting the acknowledgement, 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
   * PUBLISH packets.
   *
   * @note This definition must exist in order to compile. 10U is a typical value
   * used in the MQTT demos.
   */
  #define MQTT_STATE_ARRAY_MAX_COUNT              ( 10U )
  
  /**
   * @brief Retry the count for reading CONNACK from the network.
   *
   * 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.
   */
  #define MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT    ( 2U )
  
  /**
   * @brief Number of milliseconds to wait for a ping response to a ping
   * request as part of the keepalive mechanism.
   *
   * If a ping response is not received before this timeout,
   * #MQTT_ProcessLoop will return #MQTTKeepAliveTimeout.
   */
  #define MQTT_PINGRESP_TIMEOUT_MS                ( 5000U )
  
  #endif /* ifndef CORE_MQTT_CONFIG_H_ */
  