From f2a904ea41e2e1a724c1d84f807cef725cd83eba Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Tue, 20 Feb 2024 20:38:59 +0100 Subject: [PATCH] Make the task stack size configurable --- src/asynchttprequest.cpp | 5 +++-- src/asynchttprequest.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/asynchttprequest.cpp b/src/asynchttprequest.cpp index 9e836fd..5ddc6cb 100644 --- a/src/asynchttprequest.cpp +++ b/src/asynchttprequest.cpp @@ -34,8 +34,9 @@ constexpr int TASK_ENDED_BIT = BIT5; constexpr int ABORT_REQUEST_BIT = BIT6; } // namespace -AsyncHttpRequest::AsyncHttpRequest(const char *taskName, espcpputils::CoreAffinity coreAffinity) : +AsyncHttpRequest::AsyncHttpRequest(const char *taskName, espcpputils::CoreAffinity coreAffinity, uint32_t taskSize) : m_taskName{taskName}, + m_taskSize{taskSize}, m_coreAffinity{coreAffinity} { assert(m_eventGroup.handle); @@ -64,7 +65,7 @@ std::expected AsyncHttpRequest::startTask() m_eventGroup.clearBits(TASK_RUNNING_BIT | START_REQUEST_BIT | REQUEST_RUNNING_BIT | REQUEST_FINISHED_BIT | END_TASK_BIT | TASK_ENDED_BIT | ABORT_REQUEST_BIT); - if (auto result = espcpputils::createTask(requestTask, m_taskName, 3096, this, 10, &m_taskHandle, m_coreAffinity); + if (auto result = espcpputils::createTask(requestTask, m_taskName, m_taskSize, this, 10, &m_taskHandle, m_coreAffinity); result != pdPASS) { auto msg = fmt::format("failed creating http task {}", result); diff --git a/src/asynchttprequest.h b/src/asynchttprequest.h index aa21e5c..736c970 100644 --- a/src/asynchttprequest.h +++ b/src/asynchttprequest.h @@ -21,7 +21,7 @@ class AsyncHttpRequest { public: - AsyncHttpRequest(const char *taskName="httpRequestTask", espcpputils::CoreAffinity coreAffinity=espcpputils::CoreAffinity::Core1); + AsyncHttpRequest(const char *taskName="httpRequestTask", espcpputils::CoreAffinity coreAffinity=espcpputils::CoreAffinity::Core1, uint32_t taskSize = 3096); ~AsyncHttpRequest(); std::expected startTask(); @@ -84,5 +84,6 @@ private: std::map m_responseHeaders; const char * const m_taskName; + const uint32_t m_taskSize; const espcpputils::CoreAffinity m_coreAffinity; };