# 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
