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"
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().