In quic, update packet_size_ when first frame gets queued. protected by gfe2_reloadable_flag_quic_update_packet_size.
This allows up to mark multiple functions const.
PiperOrigin-RevId: 318090174
Change-Id: I5783ff1548360e4a262f44f15fc6966d6351e6d5
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index f933a5a..c1f8982 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -732,6 +732,9 @@
}
size_t QuicPacketCreator::PacketSize() {
+ if (update_packet_size_) {
+ return queued_frames_.empty() ? PacketHeaderSize() : packet_size_;
+ }
if (!queued_frames_.empty()) {
return packet_size_;
}
@@ -1608,6 +1611,10 @@
FlushCurrentPacket();
return false;
}
+ if (update_packet_size_ && queued_frames_.empty()) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_update_packet_size);
+ packet_size_ = PacketHeaderSize();
+ }
DCHECK_LT(0u, packet_size_);
packet_size_ += ExpansionOnNewFrame() + frame_len;