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.h b/quic/core/quic_connection.h
index edd132b..8176934 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -757,7 +757,13 @@
QuicMemSliceSpan message);
// Returns the largest payload that will fit into a single MESSAGE frame.
- QuicPacketLength GetLargestMessagePayload() const;
+ // Because overhead can vary during a connection, this method should be
+ // checked for every message.
+ QuicPacketLength GetCurrentLargestMessagePayload() const;
+ // Returns the largest payload that will fit into a single MESSAGE frame at
+ // any point during the connection. This assumes the version and
+ // connection ID lengths do not change.
+ QuicPacketLength GetGuaranteedLargestMessagePayload() const;
// Return the id of the cipher of the primary decrypter of the framer.
uint32_t cipher_id() const { return framer_.decrypter()->cipher_id(); }