1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-07-30 14:43:05 +03:00

Always use InplaceQuicPacketBuilder within writeCloseCommon

Summary: See title

Reviewed By: hanidamlaj

Differential Revision: D69195840

fbshipit-source-id: 777a4cbb8d2ae8754308a1bbedc35d399e9f44ff
This commit is contained in:
Aman Sharma
2025-02-11 11:02:18 -08:00
committed by Facebook GitHub Bot
parent c6d19083df
commit 57ae934f07

View File

@ -1255,10 +1255,13 @@ void writeCloseCommon(
PacketNumberSpace pnSpace = header.getPacketNumberSpace();
HeaderForm headerForm = header.getHeaderForm();
PacketNum packetNum = header.getPacketSequenceNum();
// TODO: This too needs to be switchable between regular and inplace builder.
RegularQuicPacketBuilder packetBuilder(
kDefaultUDPSendPacketLen,
std::move(header),
// Create a buffer onto which we write the connection close.
BufAccessor bufAccessor(connection.udpSendPacketLen);
InplaceQuicPacketBuilder packetBuilder(
bufAccessor,
connection.udpSendPacketLen,
header,
getAckState(connection, pnSpace).largestAckedByPeer.value_or(0));
packetBuilder.encodePacketHeader();
packetBuilder.accountForCipherOverhead(aead.getCipherOverhead());
@ -1308,8 +1311,6 @@ void writeCloseCommon(
return;
}
auto packet = std::move(packetBuilder).buildPacket();
packet.header.coalesce();
packet.body.reserve(0, aead.getCipherOverhead());
CHECK_GE(packet.body.tailroom(), aead.getCipherOverhead());
auto bufUniquePtr = packet.body.clone();
bufUniquePtr =