Skip to content

Commit

Permalink
Batch split UTF-8 packets at the ENet layer
Browse files Browse the repository at this point in the history
  • Loading branch information
cgutman committed Oct 11, 2023
1 parent 8d73a9f commit 836bc66
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/InputStream.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ static PPACKET_HOLDER allocatePacketHolder(int extraLength) {
}
}

static bool sendInputPacket(PPACKET_HOLDER holder) {
static bool sendInputPacket(PPACKET_HOLDER holder, bool moreData) {
SOCK_RET err;

// On GFE 3.22, the entire control stream is encrypted (and support for separate RI encrypted)
Expand All @@ -222,7 +222,7 @@ static bool sendInputPacket(PPACKET_HOLDER holder) {
PACKET_SIZE(holder),
holder->channelId,
holder->enetPacketFlags,
LbqGetItemCount(&packetQueue) > 0);
moreData);
if (err < 0) {
Limelog("Input: sendInputPacketOnControlStream() failed: %d\n", (int) err);
ListenerCallbacks.connectionTerminated(err);
Expand Down Expand Up @@ -273,7 +273,7 @@ static bool sendInputPacket(PPACKET_HOLDER holder) {
(int)(encryptedSize + sizeof(encryptedLengthPrefix)),
holder->channelId,
holder->enetPacketFlags,
LbqGetItemCount(&packetQueue) > 0);
moreData);
if (err < 0) {
Limelog("Input: sendInputPacketOnControlStream() failed: %d\n", (int) err);
ListenerCallbacks.connectionTerminated(err);
Expand Down Expand Up @@ -600,7 +600,7 @@ static void inputSendThreadProc(void* context) {
memcpy(splitPacket.packet.unicode.text, &holder->packet.unicode.text[i], codePointLength);

// Encrypt and send the split packet
if (!sendInputPacket(&splitPacket)) {
if (!sendInputPacket(&splitPacket, i + 1 < totalLength)) {
freePacketHolder(holder);
return;
}
Expand All @@ -613,7 +613,7 @@ static void inputSendThreadProc(void* context) {
}

// Encrypt and send the input packet
if (!sendInputPacket(holder)) {
if (!sendInputPacket(holder, LbqGetItemCount(&packetQueue) > 0)) {
freePacketHolder(holder);
return;
}
Expand Down

0 comments on commit 836bc66

Please sign in to comment.