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;