Commit Graph

825 Commits

Author SHA1 Message Date
Mathieu Carbou
92cdaa16b4 update issue 2024-12-15 17:34:53 +01:00
vortigont
a00cf38d6a Merge branch 'main' into buffcredit 2024-12-15 14:57:24 +09:00
Emil Muratov
3d3456e9e8 implement in-flight buffer credits and event moderation for large/chunked responses
Referer to https://github.com/mathieucarbou/ESPAsyncWebServer/discussions/165
Relates to #169

in-flight buffer credits are intended to moderate buffer fill callbacks in AsyncAbstractResponse
it could prevent bad designed slow user-callbacks to flood the queue in chunked responces.

for response data we need to control the queue and in-flight fragmentation. Sending small chunks could give low latency,
but flood asynctcp's queue and fragment socket buffer space for large responses.
Let's ignore polled acks and acks in case when we have more in-flight data then the available socket buff space.
That way we could balance on having half the buffer in-flight while another half is filling up, while minimizing events in asynctcp q
2024-12-15 14:27:42 +09:00
Mathieu Carbou
61eed0edb8 Merge pull request #170 from mathieucarbou/issue-169
Fix #169: Watchdog in AsyncTCP when sending very long chunked response
2024-12-11 20:08:57 +01:00
Mathieu Carbou
b4f170be3d Fix #169: Watchdog in AsyncTCP when sending very long chunked response
Discussion ref: https://github.com/mathieucarbou/ESPAsyncWebServer/discussions/165
2024-12-11 20:03:32 +01:00
Mathieu Carbou
aed6b32bac Updated recommended flags 2024-12-11 11:27:14 +01:00
Mathieu Carbou
359cc6871c update slow example 2024-12-10 21:21:12 +01:00
Mathieu Carbou
25742e1958 updated slow sample 2024-12-10 21:13:45 +01:00
Mathieu Carbou
3866d0b6a0 snprintf => concat 2024-12-10 20:41:31 +01:00
Mathieu Carbou
ce2a7a593f v3.4.0 2024-12-10 15:02:47 +01:00
Mathieu Carbou
101617d17c Merge pull request #168 from mathieucarbou/issue-162
Fix 162: closing websocket from ESP32 with Safari crashes the ESP32.
2024-12-10 14:34:23 +01:00
Mathieu Carbou
ee9d406190 Fix 162: closing websocket from ESP32 with Safari crashes the ESP32.
This happens when Safari sends a WS frame with masked bit set and length 2.
2024-12-10 13:38:17 +01:00
Mathieu Carbou
5b5efb96f5 Merge pull request #167 from vortigont/sse_fix
SSE: fix '\n' for String's message container
2024-12-10 09:08:11 +01:00
Emil Muratov
050448165b SSE: fix '\n' for String's message container
Closes #166
2024-12-10 16:46:35 +09:00
Mathieu Carbou
8a7d2d1944 add slow chunk example 2024-12-09 09:18:27 +01:00
Mathieu Carbou
964f899405 Merge pull request #154 from vortigont/sse_shareddata
reworked SSEs
2024-12-03 09:51:05 +01:00
vortigont
c8b3b283da Merge branch 'main' into sse_shareddata 2024-12-02 12:25:29 +09:00
Emil Muratov
b09ad98fdd rework SSE for String's instead of std::string 2024-12-02 10:37:35 +09:00
Mathieu Carbou
d9041fc9c4 Add example to prevent WS connection if too many clients 2024-11-30 16:07:11 +01:00
Mathieu Carbou
bccee27d2b v3.3.23 2024-11-25 13:26:03 +01:00
Mathieu Carbou
f0eb0acb2f Added WS_PING event 2024-11-21 00:38:56 +01:00
Mathieu Carbou
0eba19d8bf Updated example 2024-11-21 00:30:41 +01:00
Mathieu Carbou
0cc6dd2a0c code cleanup 2024-11-20 23:43:45 +01:00
Mathieu Carbou
29198a2436 Fix sample 2024-11-20 23:18:51 +01:00
Mathieu Carbou
d7c23e8417 Fix CI 2024-11-20 20:51:57 +01:00
Mathieu Carbou
d60573bd4d updated example 2024-11-20 20:41:16 +01:00
Mathieu Carbou
ac2fb65cb5 Add sample 2024-11-20 20:25:44 +01:00
Mathieu Carbou
33611e8c0a Fix samples 2024-11-19 00:18:05 +01:00
Mathieu Carbou
4a37169a04 Arduino Core 3.1.0 RC3 / ESP-IDF 5.3 2024-11-15 20:38:39 +01:00
Mathieu Carbou
071785ae50 add josn example 2024-11-15 20:06:33 +01:00
Mathieu Carbou
cee7292529 Merge pull request #159 from Jetinho/patch-2
update doc according to ArduinoJson upgrade
2024-11-15 15:56:11 +01:00
Julien Jet
60f9b47bee update doc according to ArduinoJson upgrade
From information found on the following [issue](https://github.com/me-no-dev/ESPAsyncWebServer/edit/master/README.md) and [ArduinoJson upgrade note](https://arduinojson.org/v6/doc/upgrade/)
2024-11-15 15:49:16 +01:00
Mathieu Carbou
c38d615de5 Fix CI 2024-11-15 09:31:40 +01:00
Mathieu Carbou
eee6094ef7 bblanchon/ArduinoJson @ 7.2.1 2024-11-15 09:25:45 +01:00
Mathieu Carbou
9d9c22fec0 mathieucarbou/AsyncTCP @ 3.2.14 2024-11-12 18:48:14 +01:00
Mathieu Carbou
17a69afa6e mathieucarbou/AsyncTCP @ 3.2.13 2024-11-12 18:30:40 +01:00
Mathieu Carbou
116fe43eec Added chunk response from PROGMEM content example 2024-11-12 10:31:13 +01:00
Emil Muratov
43e0b5c5a6 rework SSE handling
implement AsyncEventSourceMessage using shared std::string container
one message instance could be shared for multiple connected clients

add zero-copy overloads for message queue in AsyncEventSourceClient
message queue for the client consists of possibly shared instances of AsyncEventSourceMessage,
adding a message to the queue won't create deep-copy object

AsyncEventSource will create a single instance of data message and populate connected clients queues with a shared pointer
2024-11-12 15:27:15 +09:00
Mathieu Carbou
02f7b4f65d update doc 2024-11-12 01:46:16 +01:00
Mathieu Carbou
29ba81039d Added SSE perf tests 2024-11-12 01:34:12 +01:00
Mathieu Carbou
cb19a82668 update doc 2024-11-08 08:34:48 +01:00
Mathieu Carbou
d86e0906bd v3.3.22 2024-11-04 14:08:10 +01:00
Mathieu Carbou
233d0ee104 Merge pull request #152 from mathieucarbou/issue-151
Fix #151: setAuthentication() was not authenticating: the middleware …
2024-11-04 14:06:56 +01:00
Mathieu Carbou
7cf5de6eed Fix #151: setAuthentication() was not authenticating: the middleware was setup with AUTH_NONE (default) instead of AUTH_DIGEST (to keep backward compatibility) 2024-11-04 14:02:14 +01:00
Mathieu Carbou
4290bb2e4a Fix CI 2024-10-30 10:07:44 +01:00
Mathieu Carbou
5a60a3de6c Added serveStatic example with template 2024-10-30 09:56:37 +01:00
Mathieu Carbou
8ce30ac7e6 lib_ignore = lwIP_ESPHost 2024-10-28 22:25:50 +01:00
Mathieu Carbou
05c09e2f11 lib_ldf_mode = deep+
lib_compat_mode = strict
2024-10-28 22:16:24 +01:00
Mathieu Carbou
96b60370d3 Try re-activate RPI 2024-10-28 22:14:18 +01:00
Mathieu Carbou
5021dd0b7d v3.3.21 2024-10-27 08:51:40 +01:00