mirror of https://github.com/OpenTTD/OpenTTD
Codechange: move the logic shrinking of the packets into the Packet itself
parent
d4f027c03b
commit
38d15fc9b7
|
@ -73,6 +73,11 @@ void Packet::PrepareToSend()
|
||||||
this->buffer[1] = GB(this->size, 8, 8);
|
this->buffer[1] = GB(this->size, 8, 8);
|
||||||
|
|
||||||
this->pos = 0; // We start reading from here
|
this->pos = 0; // We start reading from here
|
||||||
|
|
||||||
|
/* Reallocate the packet as in 99+% of the times we send at most 25 bytes and
|
||||||
|
* keeping the other 1400+ bytes wastes memory, especially when someone tries
|
||||||
|
* to do a denial of service attack! */
|
||||||
|
this->buffer = ReallocT(this->buffer, this->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -65,11 +65,6 @@ void NetworkTCPSocketHandler::SendPacket(Packet *packet)
|
||||||
|
|
||||||
packet->PrepareToSend();
|
packet->PrepareToSend();
|
||||||
|
|
||||||
/* Reallocate the packet as in 99+% of the times we send at most 25 bytes and
|
|
||||||
* keeping the other 1400+ bytes wastes memory, especially when someone tries
|
|
||||||
* to do a denial of service attack! */
|
|
||||||
packet->buffer = ReallocT(packet->buffer, packet->size);
|
|
||||||
|
|
||||||
/* Locate last packet buffered for the client */
|
/* Locate last packet buffered for the client */
|
||||||
p = this->packet_queue;
|
p = this->packet_queue;
|
||||||
if (p == nullptr) {
|
if (p == nullptr) {
|
||||||
|
|
Loading…
Reference in New Issue