add limit to how many messages can be queued for each web socket client

This commit is contained in:
me-no-dev 2018-08-18 21:10:39 +02:00
parent 4c621f340c
commit bed4146ec6
2 changed files with 8 additions and 1 deletions

View File

@ -551,7 +551,12 @@ void AsyncWebSocketClient::_queueMessage(AsyncWebSocketMessage *dataMessage){
delete dataMessage;
return;
}
_messageQueue.add(dataMessage);
if(_messageQueue.length() > WS_MAX_QUEUED_MESSAGES){
ets_printf("ERROR: Too many messages queued\n");
delete dataMessage;
} else {
_messageQueue.add(dataMessage);
}
if(_client->canSend())
_runQueue();
}

View File

@ -24,8 +24,10 @@
#include <Arduino.h>
#ifdef ESP32
#include <AsyncTCP.h>
#define WS_MAX_QUEUED_MESSAGES 32
#else
#include <ESPAsyncTCP.h>
#define WS_MAX_QUEUED_MESSAGES 8
#endif
#include <ESPAsyncWebServer.h>