Arduino DLNA Server
Loading...
Searching...
No Matches
HttpServerUsingTask.h
Go to the documentation of this file.
1#pragma once
2#include "concurrency/Task.h"
4#include "basic/Logger.h"
5
6namespace tiny_dlna {
7
28template <typename ClientType, typename ServerType>
29class HttpServerUsingTask : public HttpServer<ClientType, ServerType> {
30 public:
31 HttpServerUsingTask(ServerType& server, int bufferSize = 1024,
32 int taskStackSize = 1024 * 8, int taskPriority = 1)
33 : HttpServer<ClientType, ServerType>(server, bufferSize),
34 server_task_("HttpServerTask", taskStackSize, taskPriority) {}
35
37
38 bool begin() override {
39 DlnaLogger.log(DlnaLogLevel::Debug, "HttpServerUsingTask::begin()");
41 // start processing loop in background task
42 server_task_.begin([this]() {
43 while (this->isActive()) {
45 delay(1);
46 }
47 });
48 DlnaLogger.log(DlnaLogLevel::Info, "HttpServerUsingTask started: %s",
49 result ? "true" : "false");
50 return result;
51 }
52
53 void end() override {
54 DlnaLogger.log(DlnaLogLevel::Debug, "HttpServerUsingTask::end()");
57 }
58
59 bool doLoop() override { return true; }
60
61 protected:
63};
64
65} // namespace tiny_dlna
HTTP server implementation that runs in a separate task/thread.
Definition: HttpServerUsingTask.h:29
bool begin() override
Definition: HttpServerUsingTask.h:38
HttpServerUsingTask(ServerType &server, int bufferSize=1024, int taskStackSize=1024 *8, int taskPriority=1)
Definition: HttpServerUsingTask.h:31
void end() override
Definition: HttpServerUsingTask.h:53
Task server_task_
Definition: HttpServerUsingTask.h:62
bool doLoop() override
Process server loop.
Definition: HttpServerUsingTask.h:59
~HttpServerUsingTask()
Definition: HttpServerUsingTask.h:36
Header-only HTTP server wrapper that registers callback handlers.
Definition: HttpServer.h:37
bool isActive() override
Definition: HttpServer.h:299
bool doLoop() override
Legacy method: same as copy();.
Definition: HttpServer.h:232
void end() override
stops the server_ptr
Definition: HttpServer.h:69
bool begin() override
Starts the server.
Definition: HttpServer.h:61
FreeRTOS task.
Definition: TaskRTOS.h:23
bool begin(std::function< void()> process)
Definition: TaskRTOS.h:45
void end()
suspends the task
Definition: TaskRTOS.h:53
Definition: Allocator.h:13