diff options
author | Rubidium <rubidium@openttd.org> | 2021-04-18 10:49:12 +0200 |
---|---|---|
committer | rubidium42 <rubidium42@users.noreply.github.com> | 2021-04-24 20:42:01 +0200 |
commit | 6f161f655942f2ca0091a75cdab8e3260e31bb5f (patch) | |
tree | 6bdcff599e22887cde7f9badbb3c03d63dd2edcd /src/network/network_server.cpp | |
parent | 38d15fc9b788e2c904705d2ba8de4d5f1ff7988d (diff) | |
download | openttd-6f161f655942f2ca0091a75cdab8e3260e31bb5f.tar.xz |
Codechange: encapsulate the logic about how many bytes can be sent from a buffer in to a Packet
Diffstat (limited to 'src/network/network_server.cpp')
-rw-r--r-- | src/network/network_server.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index fbde713eb..9b77a57af 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -174,12 +174,10 @@ struct PacketWriter : SaveFilter { byte *bufe = buf + size; while (buf != bufe) { - size_t to_write = std::min<size_t>(SEND_MTU - this->current->size, bufe - buf); - memcpy(this->current->buffer + this->current->size, buf, to_write); - this->current->size += (PacketSize)to_write; - buf += to_write; + size_t written = this->current->Send_bytes(buf, bufe); + buf += written; - if (this->current->size == SEND_MTU) { + if (!this->current->CanWriteToPacket(1)) { this->AppendQueue(); if (buf != bufe) this->current = new Packet(PACKET_SERVER_MAP_DATA); } |