From a53168f5b6429ceab81357ada71b4dcfeab7e752 Mon Sep 17 00:00:00 2001 From: Adrian Date: Thu, 16 Apr 2020 12:55:38 +0200 Subject: [PATCH 1/3] Allow setting queue and stack size via user defines --- src/AsyncTCP.cpp | 4 ++-- src/AsyncTCP.h | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/AsyncTCP.cpp b/src/AsyncTCP.cpp index 89ff6ee3..72ddfcfc 100644 --- a/src/AsyncTCP.cpp +++ b/src/AsyncTCP.cpp @@ -95,7 +95,7 @@ static uint32_t _closed_index = []() { static inline bool _init_async_event_queue(){ if(!_async_queue){ - _async_queue = xQueueCreate(32, sizeof(lwip_event_packet_t *)); + _async_queue = xQueueCreate(CONFIG_ASYNC_TCP_QUEUE_SIZE, sizeof(lwip_event_packet_t *)); if(!_async_queue){ return false; } @@ -218,7 +218,7 @@ static bool _start_async_task(){ return false; } if(!_async_service_task_handle){ - xTaskCreateUniversal(_async_service_task, "async_tcp", 8192 * 2, NULL, 3, &_async_service_task_handle, CONFIG_ASYNC_TCP_RUNNING_CORE); + xTaskCreateUniversal(_async_service_task, "async_tcp", CONFIG_ASYNC_TCP_STACK, NULL, 3, &_async_service_task_handle, CONFIG_ASYNC_TCP_RUNNING_CORE); if(!_async_service_task_handle){ return false; } diff --git a/src/AsyncTCP.h b/src/AsyncTCP.h index ac87deda..1ed9c5ea 100644 --- a/src/AsyncTCP.h +++ b/src/AsyncTCP.h @@ -35,6 +35,12 @@ extern "C" { #define CONFIG_ASYNC_TCP_RUNNING_CORE -1 //any available core #define CONFIG_ASYNC_TCP_USE_WDT 1 //if enabled, adds between 33us and 200us per event #endif +#ifndef CONFIG_ASYNC_TCP_STACK +#define CONFIG_ASYNC_TCP_STACK 8192 * 2 +#endif +#ifndef CONFIG_ASYNC_TCP_QUEUE_SIZE +#define CONFIG_ASYNC_TCP_QUEUE_SIZE 32 +#endif class AsyncClient; From ec4cb9a9e808fdd289d6f07c38435574cf047fa6 Mon Sep 17 00:00:00 2001 From: Adrian Date: Thu, 16 Apr 2020 13:50:59 +0200 Subject: [PATCH 2/3] Add CONFIG_ASYNC_TCP_QUEUE_SIZE and CONFIG_ASYNC_TCP_STACK to Kconfig.projbuild --- Kconfig.projbuild | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Kconfig.projbuild b/Kconfig.projbuild index 17749264..442f6b7e 100644 --- a/Kconfig.projbuild +++ b/Kconfig.projbuild @@ -27,4 +27,12 @@ config ASYNC_TCP_USE_WDT help Enable WDT for the AsyncTCP task, so it will trigger if a handler is locking the thread. +config CONFIG_ASYNC_TCP_STACK + int "Stack size for the AsyncTCP task" + default 16384 + +config CONFIG_ASYNC_TCP_QUEUE_SIZE + int "Events queue size" + default 32 + endmenu From cdd74738f254139d33b71d622a5a9fb396f6c376 Mon Sep 17 00:00:00 2001 From: Adrian Date: Thu, 16 Apr 2020 16:45:34 +0200 Subject: [PATCH 3/3] Fix config name in Kconfig.projbuild --- Kconfig.projbuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Kconfig.projbuild b/Kconfig.projbuild index 442f6b7e..82c9131c 100644 --- a/Kconfig.projbuild +++ b/Kconfig.projbuild @@ -27,11 +27,11 @@ config ASYNC_TCP_USE_WDT help Enable WDT for the AsyncTCP task, so it will trigger if a handler is locking the thread. -config CONFIG_ASYNC_TCP_STACK +config ASYNC_TCP_STACK int "Stack size for the AsyncTCP task" default 16384 -config CONFIG_ASYNC_TCP_QUEUE_SIZE +config ASYNC_TCP_QUEUE_SIZE int "Events queue size" default 32