Make the task stack size configurable

This commit is contained in:
2024-02-20 20:38:59 +01:00
parent 69b40d5f72
commit f2a904ea41
2 changed files with 5 additions and 3 deletions

View File

@@ -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<void, std::string> 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);

View File

@@ -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<void, std::string> startTask();
@@ -84,5 +84,6 @@ private:
std::map<std::string, std::string> m_responseHeaders;
const char * const m_taskName;
const uint32_t m_taskSize;
const espcpputils::CoreAffinity m_coreAffinity;
};