# Kconfig - MQTT Library for Zephyr

#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

config  MQTT_LIB
	bool "MQTT Library Support"
	default n
	select NET_APP_CLIENT
	help
	  Enable the Zephyr MQTT Library

config MQTT_MSG_MAX_SIZE
	int
	prompt "Max size of a MQTT message"
	depends on MQTT_LIB
	default 128
	range 128 1024
	help
	  Set the maximum size of the MQTT message. So, no messages
	  longer than CONFIG_MQTT_MSG_SIZE will be processed.

config MQTT_ADDITIONAL_BUFFER_CTR
	int
	prompt "Additional buffers available for the MQTT application"
	depends on MQTT_LIB
	default 0
	help
	  Set some additional buffers. When two or more concurrent contexts are
	  used in the same application, additional buffers may help to have a 1:1
	  relation between application contexts and internal buffers.

config MQTT_SUBSCRIBE_MAX_TOPICS
	int
	prompt "Max number of topics to subscribe to"
	depends on MQTT_LIB
	default 1
	range 1 8
	help
	  Set the maximum number of topics handled by the SUBSCRIBE/SUBACK
	  messages during reception.

config MQTT_LIB_TLS
	bool
	prompt "Enable TLS support for the MQTT application"
	depends on MQTT_LIB
	default n
	select NET_APP_TLS
	help
	  Enables MQTT library with TLS support
