Change QuicCryptoStream to track crypto-substreams by packet number space instead of encryption level such that ZERO_RTT and FORWARD_SECURE crypto data are sent/received/re-transmitted on the same stream.
PiperOrigin-RevId: 447566612
diff --git a/quiche/quic/core/quic_crypto_client_handshaker.h b/quiche/quic/core/quic_crypto_client_handshaker.h
index 9c19f89..dbbd942 100644
--- a/quiche/quic/core/quic_crypto_client_handshaker.h
+++ b/quiche/quic/core/quic_crypto_client_handshaker.h
@@ -11,6 +11,7 @@
#include "quiche/quic/core/crypto/quic_crypto_client_config.h"
#include "quiche/quic/core/quic_crypto_client_stream.h"
#include "quiche/quic/core/quic_server_id.h"
+#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/platform/api/quic_export.h"
#include "quiche/common/platform/api/quiche_logging.h"
@@ -45,6 +46,8 @@
bool encryption_established() const override;
bool IsCryptoFrameExpectedForEncryptionLevel(
EncryptionLevel level) const override;
+ EncryptionLevel GetEncryptionLevelToSendCryptoDataOfSpace(
+ PacketNumberSpace space) const override;
bool one_rtt_keys_available() const override;
const QuicCryptoNegotiatedParameters& crypto_negotiated_params()
const override;