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_connection.cc b/quic/core/quic_connection.cc
index 68567b7..c6f939e 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -3875,7 +3875,7 @@
<< transport_version();
return MESSAGE_STATUS_UNSUPPORTED;
}
- if (message.total_length() > GetLargestMessagePayload()) {
+ if (message.total_length() > GetCurrentLargestMessagePayload()) {
return MESSAGE_STATUS_TOO_LARGE;
}
if (!CanWrite(HAS_RETRANSMITTABLE_DATA)) {
@@ -3885,8 +3885,12 @@
return packet_generator_.AddMessageFrame(message_id, message);
}
-QuicPacketLength QuicConnection::GetLargestMessagePayload() const {
- return packet_generator_.GetLargestMessagePayload();
+QuicPacketLength QuicConnection::GetCurrentLargestMessagePayload() const {
+ return packet_generator_.GetCurrentLargestMessagePayload();
+}
+
+QuicPacketLength QuicConnection::GetGuaranteedLargestMessagePayload() const {
+ return packet_generator_.GetGuaranteedLargestMessagePayload();
}
bool QuicConnection::ShouldSetAckAlarm() const {