From cc8f088eef283b679fe58558f1a75f51e2810218 Mon Sep 17 00:00:00 2001 From: WebFreak001 Date: Sat, 12 Nov 2022 04:46:58 +0100 Subject: [PATCH] make sure large requests are properly sent --- common/src/dcd/common/messages.d | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/common/src/dcd/common/messages.d b/common/src/dcd/common/messages.d index b14373e..a2aff4a 100644 --- a/common/src/dcd/common/messages.d +++ b/common/src/dcd/common/messages.d @@ -205,7 +205,15 @@ bool sendRequest(Socket socket, AutocompleteRequest request) auto messageLength = message.length; messageBuffer[0 .. size_t.sizeof] = (cast(ubyte*) &messageLength)[0 .. size_t.sizeof]; messageBuffer[size_t.sizeof .. $] = message[]; - return socket.send(messageBuffer) == messageBuffer.length; + size_t i; + while (i < messageBuffer.length) + { + auto sent = socket.send(messageBuffer[i .. $]); + if (sent == Socket.ERROR) + return false; + i += sent; + } + return true; } /**