# Kconfig.app - Options for networking applications

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

menuconfig NET_APP
	bool "Network application API support [EXPERIMENTAL]"
	default y
	select NET_MGMT
	select NET_MGMT_EVENT
	help
	  Enable API that helps to create client/server network applications.
	  This API is experimental and subject to change.

if NET_APP

config NET_DEBUG_APP
	bool "Debug net app library"
	default y if NET_LOG_GLOBAL
	help
	  Enables net app library to output debug messages

config NET_APP_SERVER
	bool "Enable server support"
	help
	  Enables net app library server APIs.

config NET_APP_SERVER_NUM_CONN
	int "Number of simultaneous incoming connections"
	default 1
	depends on NET_APP_SERVER
	help
	  Tells how many simultaneous incoming connections the server instance can
	  support. The value of CONFIG_NET_TCP_BACKLOG_SIZE must be greater than
	  or equal to CONFIG_NET_APP_SERVER_NUM_CONN.

config NET_APP_CLIENT
	bool "Enable client support"
	help
	  Enables net app library client APIs.

config NET_APP_TLS
	bool "Enable TLS support for TCP applications"
	depends on NET_TCP
	select MBEDTLS
	help
	  Enables net app library to use TLS for encrypted communication.

config NET_APP_DTLS
	bool "Enable DTLS support for UDP applications"
	depends on NET_UDP
	select MBEDTLS
	help
	  Enables net app library to use DTLS for encrypted UDP communication.

config NET_APP_DTLS_TIMEOUT
	int "DTLS session timeout"
	depends on NET_APP_DTLS
	default 15
	help
	  If a DTLS session does not have any activity, then disconnect
	  the session. The value is in seconds.

config NET_APP_TLS_STACK_SIZE
	int "TLS handler thread stack size"
	default 8192
	depends on NET_APP_TLS || NET_APP_DTLS
	help
	  TLS handler thread stack size. The mbedtls routines will use this stack
	  thus it is by default very large.

endif # NET_APP
