Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarNetPacketSocket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/StarNetPacketSocket.cpp')
-rw-r--r--source/game/StarNetPacketSocket.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/game/StarNetPacketSocket.cpp b/source/game/StarNetPacketSocket.cpp
index 7a0724b..cd5c749 100644
--- a/source/game/StarNetPacketSocket.cpp
+++ b/source/game/StarNetPacketSocket.cpp
@@ -285,12 +285,14 @@ bool TcpPacketSocket::writeData() {
m_outputBuffer.clear();
m_compressedBuffer.append(compressed.ptr(), compressed.size());
- size_t written = m_socket->send(m_compressedBuffer.ptr(), m_compressedBuffer.size());
- if (written > 0) {
- dataSent = true;
- m_compressedBuffer.trimLeft(written);
- m_outgoingStats.mix(written);
- }
+ do {
+ size_t written = m_socket->send(m_compressedBuffer.ptr(), m_compressedBuffer.size());
+ if (written > 0) {
+ dataSent = true;
+ m_compressedBuffer.trimLeft(written);
+ m_outgoingStats.mix(written);
+ }
+ } while (!m_compressedBuffer.empty());
} else {
do {
size_t written = m_socket->send(m_outputBuffer.ptr(), m_outputBuffer.size());