Add GetLargestGuaranteedMessagePayload to QuicSession/Connection/Generator/Creator to expose the largest message payload that's guaranteed to fit in any packet containing application data.

gfe-relnote: n/a (Only used in Quartc)
PiperOrigin-RevId: 242135946
Change-Id: I52cc763af88d22fc240210e00cf4d4062d0b9c59
diff --git a/quic/core/quic_packet_generator.cc b/quic/core/quic_packet_generator.cc
index 8267ade..831689b 100644
--- a/quic/core/quic_packet_generator.cc
+++ b/quic/core/quic_packet_generator.cc
@@ -472,7 +472,7 @@
     MaybeBundleAckOpportunistically();
   }
   const QuicByteCount message_length = message.total_length();
-  if (message_length > GetLargestMessagePayload()) {
+  if (message_length > GetCurrentLargestMessagePayload()) {
     return MESSAGE_STATUS_TOO_LARGE;
   }
   SendQueuedFrames(/*flush=*/false);
@@ -530,8 +530,13 @@
   return true;
 }
 
-QuicPacketLength QuicPacketGenerator::GetLargestMessagePayload() const {
-  return packet_creator_.GetLargestMessagePayload();
+QuicPacketLength QuicPacketGenerator::GetCurrentLargestMessagePayload() const {
+  return packet_creator_.GetCurrentLargestMessagePayload();
+}
+
+QuicPacketLength QuicPacketGenerator::GetGuaranteedLargestMessagePayload()
+    const {
+  return packet_creator_.GetGuaranteedLargestMessagePayload();
 }
 
 void QuicPacketGenerator::SetConnectionId(QuicConnectionId connection_id) {