HTTP Server implementation with per-client task handling. More...
#include "framework_config.h"#include "DebugTrace.h"#include "http/HttpServer.h"#include <lwip/sockets.h>#include <lwip/netif.h>#include <lwip/ip4_addr.h>#include "lwip/stats.h"#include "lwip/memp.h"#include "lwip/tcp.h"#include <cstring>#include <cstdio>#include <cstdlib>#include <FreeRTOS.h>#include <task.h>#include <semphr.h>#include "pico/stdlib.h"#include "utility/utility.h"#include "http/url_utils.h"#include "framework/AppContext.h"#include "time/TimeManager.h"#include "network/Tcp.h"#include "http/JsonResponse.h"#include "events/EventManager.h"
Include dependency graph for HttpServer.cpp:Go to the source code of this file.
Classes | |
| struct | TaskParams |
| Parameters passed to the per-client handler task. More... | |
Variables | |
| static constexpr int | MAX_CONCURRENT_CLIENTS = 1 |
| SemaphoreHandle_t | clientSemaphore |
Part of the PicoFramework HTTP server. This module handles incoming HTTP requests, spawns a new FreeRTOS task for each accepted client, and processes the requests using a router. It uses the lwIP stack for network communication and FreeRTOS for task management. The server can handle multiple clients concurrently, limited by the MAX_CONCURRENT_CLIENTS.
Definition in file HttpServer.cpp.
| SemaphoreHandle_t clientSemaphore |
Definition at line 55 of file HttpServer.cpp.
Referenced by HttpServer::start(), and HttpServer::startHandlingClient().
|
staticconstexpr |
Definition at line 54 of file HttpServer.cpp.
Referenced by HttpServer::start().