Use connection's encryption level at QuicCryptoStream::OnCryptoFrame().
gfe-relnote: Protected by gfe2_reloadable_flag_quic_use_connection_encryption_level
PiperOrigin-RevId: 278414910
Change-Id: I7dacecdcbaa56ac91015dd3066529c8ad10291e9
diff --git a/quic/core/quic_crypto_stream.cc b/quic/core/quic_crypto_stream.cc
index d62417f..e22e830 100644
--- a/quic/core/quic_crypto_stream.cc
+++ b/quic/core/quic_crypto_stream.cc
@@ -72,8 +72,15 @@
<< "Versions less than 47 shouldn't receive CRYPTO frames";
EncryptionLevel level = session()->connection()->last_decrypted_level();
substreams_[level].sequencer.OnCryptoFrame(frame);
+ EncryptionLevel frame_level;
+ if (GetQuicReloadableFlag(quic_use_connection_encryption_level)) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_use_connection_encryption_level);
+ frame_level = level;
+ } else {
+ frame_level = frame.level;
+ }
if (substreams_[level].sequencer.NumBytesBuffered() >
- BufferSizeLimitForLevel(frame.level)) {
+ BufferSizeLimitForLevel(frame_level)) {
CloseConnectionWithDetails(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA,
"Too much crypto data received");
}