1
0
mirror of https://github.com/s00500/ESPUI.git synced 2025-07-04 16:30:17 +00:00

Further improve the reliability of UI element transfer.

A protocol has been implemented between the server and client to acknowledge
each UI_INITIAL_GUI and UI_EXTEND_GUI from the client javascript. This
prevents the internal websocket buffers from becoming flooded when the
number of controls gets too high.
This commit is contained in:
Ian Gray
2022-01-12 20:12:20 +00:00
parent cf535110ea
commit 5909471962
5 changed files with 216 additions and 169 deletions

View File

@ -298,7 +298,7 @@ public:
const char* ui_title = "ESPUI"; // Store UI Title and Header Name
Control* controls = nullptr;
void jsonReload();
void jsonDom(AsyncWebSocketClient* client = nullptr);
void jsonDom(uint16_t startidx, AsyncWebSocketClient* client = nullptr);
Verbosity verbosity;
@ -310,7 +310,9 @@ private:
const char* basicAuthPassword = nullptr;
bool basicAuth = true;
Control* prepareJSONChunk(AsyncWebSocketClient* client, Control* control, JsonArray* items);
uint16_t controlCount = 0;
void prepareJSONChunk(AsyncWebSocketClient* client, uint16_t startindex, JsonArray* items);
};
extern ESPUIClass ESPUI;