Merge branch 'master' of github.com:adamdruppe/arsd

This commit is contained in:
Adam D. Ruppe 2021-09-18 07:33:32 -04:00
commit db2ca76e60
1 changed files with 9 additions and 0 deletions

View File

@ -3545,6 +3545,15 @@ class WebSocket {
public bool lowLevelReceive() {
if(readyState == CONNECTING)
throw new Exception("WebSocket not connected when trying to receive. Did you forget to call connect(); ?");
if (receiveBufferUsedLength == receiveBuffer.length)
{
if (receiveBuffer.length == config.maximumReceiveBufferSize)
throw new Exception("Maximum receive buffer size exhausted");
import std.algorithm : min;
receiveBuffer.length = min(receiveBuffer.length + config.initialReceiveBufferSize,
config.maximumReceiveBufferSize);
}
auto r = socket.receive(receiveBuffer[receiveBufferUsedLength .. $]);
if(r == 0)
return false;