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) {