Internal change PiperOrigin-RevId: 407122402
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc index 23611b3..20cebee 100644 --- a/quic/core/http/quic_spdy_session_test.cc +++ b/quic/core/http/quic_spdy_session_test.cc
@@ -177,6 +177,11 @@ bool ValidateAddressToken(absl::string_view /*token*/) const override { return true; } + const CachedNetworkParameters* PreviousCachedNetworkParams() const override { + return nullptr; + } + void SetPreviousCachedNetworkParams( + CachedNetworkParameters /*cached_network_params*/) override {} MOCK_METHOD(void, OnCanWrite, (), (override));
diff --git a/quic/core/http/quic_spdy_stream_test.cc b/quic/core/http/quic_spdy_stream_test.cc index 50dc9ea..ce48043 100644 --- a/quic/core/http/quic_spdy_stream_test.cc +++ b/quic/core/http/quic_spdy_stream_test.cc
@@ -161,6 +161,11 @@ bool ValidateAddressToken(absl::string_view /*token*/) const override { return true; } + const CachedNetworkParameters* PreviousCachedNetworkParams() const override { + return nullptr; + } + void SetPreviousCachedNetworkParams( + CachedNetworkParameters /*cached_network_params*/) override {} MOCK_METHOD(void, OnCanWrite, (), (override));
diff --git a/quic/core/quic_crypto_client_stream.cc b/quic/core/quic_crypto_client_stream.cc index fe6471f..31d96a3 100644 --- a/quic/core/quic_crypto_client_stream.cc +++ b/quic/core/quic_crypto_client_stream.cc
@@ -160,17 +160,6 @@ handshaker_->OnNewTokenReceived(token); } -std::string QuicCryptoClientStream::GetAddressToken() const { - QUICHE_DCHECK(false); - return ""; -} - -bool QuicCryptoClientStream::ValidateAddressToken( - absl::string_view /*token*/) const { - QUICHE_DCHECK(false); - return false; -} - void QuicCryptoClientStream::SetServerApplicationStateForResumption( std::unique_ptr<ApplicationState> application_state) { handshaker_->SetServerApplicationStateForResumption(
diff --git a/quic/core/quic_crypto_client_stream.h b/quic/core/quic_crypto_client_stream.h index daea001..688d603 100644 --- a/quic/core/quic_crypto_client_stream.h +++ b/quic/core/quic_crypto_client_stream.h
@@ -11,6 +11,7 @@ #include "quic/core/crypto/proof_verifier.h" #include "quic/core/crypto/quic_crypto_client_config.h" +#include "quic/core/proto/cached_network_parameters_proto.h" #include "quic/core/quic_config.h" #include "quic/core/quic_crypto_handshaker.h" #include "quic/core/quic_crypto_stream.h" @@ -73,6 +74,26 @@ QUICHE_NOTREACHED(); return false; } + + std::string GetAddressToken() const override { + QUICHE_DCHECK(false); + return ""; + } + + bool ValidateAddressToken(absl::string_view /*token*/) const override { + QUICHE_DCHECK(false); + return false; + } + + const CachedNetworkParameters* PreviousCachedNetworkParams() const override { + QUICHE_DCHECK(false); + return nullptr; + } + + void SetPreviousCachedNetworkParams( + CachedNetworkParameters /*cached_network_params*/) override { + QUICHE_DCHECK(false); + } }; class QUIC_EXPORT_PRIVATE QuicCryptoClientStream @@ -257,8 +278,6 @@ ConnectionCloseSource source) override; void OnHandshakeDoneReceived() override; void OnNewTokenReceived(absl::string_view token) override; - std::string GetAddressToken() const override; - bool ValidateAddressToken(absl::string_view token) const override; HandshakeState GetHandshakeState() const override; void SetServerApplicationStateForResumption( std::unique_ptr<ApplicationState> application_state) override;
diff --git a/quic/core/quic_crypto_server_stream_base.h b/quic/core/quic_crypto_server_stream_base.h index 967d6d1..0a2a63e 100644 --- a/quic/core/quic_crypto_server_stream_base.h +++ b/quic/core/quic_crypto_server_stream_base.h
@@ -73,11 +73,6 @@ // the resumption actually occurred. virtual bool ResumptionAttempted() const = 0; - virtual const CachedNetworkParameters* PreviousCachedNetworkParams() - const = 0; - virtual void SetPreviousCachedNetworkParams( - CachedNetworkParameters cached_network_params) = 0; - // NOTE: Indicating that the Expect-CT header should be sent here presents // a layering violation to some extent. The Expect-CT header only applies to // HTTP connections, while this class can be used for non-HTTP applications.
diff --git a/quic/core/quic_crypto_stream.h b/quic/core/quic_crypto_stream.h index 8206f35..056186a 100644 --- a/quic/core/quic_crypto_stream.h +++ b/quic/core/quic_crypto_stream.h
@@ -21,6 +21,7 @@ namespace quic { +class CachedNetworkParameters; class QuicSession; // Crypto handshake messages in QUIC take place over a reserved stream with the @@ -114,6 +115,16 @@ // Called to validate |token|. virtual bool ValidateAddressToken(absl::string_view token) const = 0; + // Get the last CachedNetworkParameters received from a valid address token. + virtual const CachedNetworkParameters* PreviousCachedNetworkParams() + const = 0; + + // Set the CachedNetworkParameters that will be returned by + // PreviousCachedNetworkParams. + // TODO(wub): This function is test only, move it to a test only library. + virtual void SetPreviousCachedNetworkParams( + CachedNetworkParameters cached_network_params) = 0; + // Returns current handshake state. virtual HandshakeState GetHandshakeState() const = 0;
diff --git a/quic/core/quic_crypto_stream_test.cc b/quic/core/quic_crypto_stream_test.cc index 093d245..fb1374f 100644 --- a/quic/core/quic_crypto_stream_test.cc +++ b/quic/core/quic_crypto_stream_test.cc
@@ -68,6 +68,11 @@ bool ValidateAddressToken(absl::string_view /*token*/) const override { return true; } + const CachedNetworkParameters* PreviousCachedNetworkParams() const override { + return nullptr; + } + void SetPreviousCachedNetworkParams( + CachedNetworkParameters /*cached_network_params*/) override {} HandshakeState GetHandshakeState() const override { return HANDSHAKE_START; } void SetServerApplicationStateForResumption( std::unique_ptr<ApplicationState> /*application_state*/) override {}
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc index f55ac6e..81decdc 100644 --- a/quic/core/quic_session_test.cc +++ b/quic/core/quic_session_test.cc
@@ -145,6 +145,11 @@ bool ValidateAddressToken(absl::string_view /*token*/) const override { return true; } + const CachedNetworkParameters* PreviousCachedNetworkParams() const override { + return nullptr; + } + void SetPreviousCachedNetworkParams( + CachedNetworkParameters /*cached_network_params*/) override {} HandshakeState GetHandshakeState() const override { return one_rtt_keys_available() ? HANDSHAKE_COMPLETE : HANDSHAKE_START; }
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h index e746ddb..e059f31 100644 --- a/quic/test_tools/quic_test_utils.h +++ b/quic/test_tools/quic_test_utils.h
@@ -831,6 +831,11 @@ bool ValidateAddressToken(absl::string_view /*token*/) const override { return true; } + const CachedNetworkParameters* PreviousCachedNetworkParams() const override { + return nullptr; + } + void SetPreviousCachedNetworkParams( + CachedNetworkParameters /*cached_network_params*/) override {} void OnConnectionClosed(QuicErrorCode /*error*/, ConnectionCloseSource /*source*/) override {} HandshakeState GetHandshakeState() const override { return HANDSHAKE_START; }