fix(http2): increase receivebuffer.length

This commit is contained in:
Tobias Pankrath 2021-09-18 13:17:54 +02:00
parent d76cc3fead
commit c7f063533b
1 changed files with 9 additions and 0 deletions

View File

@ -3540,6 +3540,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;