Move QuicReferenceCounted into QUICHE and rename it into QuicheReferenceCounted. PiperOrigin-RevId: 433215748
diff --git a/common/platform/api/quiche_reference_counted.h b/common/platform/api/quiche_reference_counted.h new file mode 100644 index 0000000..82fce6d --- /dev/null +++ b/common/platform/api/quiche_reference_counted.h
@@ -0,0 +1,169 @@ +// Copyright (c) 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef QUICHE_QUIC_PLATFORM_API_QUIC_REFERENCE_COUNTED_H_ +#define QUICHE_QUIC_PLATFORM_API_QUIC_REFERENCE_COUNTED_H_ + +#include "common/platform/api/quiche_export.h" +#include "net/quiche/common/platform/impl/quiche_reference_counted_impl.h" + +namespace quiche { + +// Base class for explicitly reference-counted objects in QUIC. +class QUICHE_EXPORT_PRIVATE QuicheReferenceCounted + : public QuicheReferenceCountedImpl { + public: + QuicheReferenceCounted() {} + + protected: + ~QuicheReferenceCounted() override {} +}; + +// A class representing a reference counted pointer in QUIC. +// +// Construct or initialize QuicheReferenceCountedPointer from raw pointer. Here +// raw pointer MUST be a newly created object. Reference count of a newly +// created object is undefined, but that will be 1 after being added to +// QuicheReferenceCountedPointer. +// QuicheReferenceCountedPointer is used as a local variable. +// QuicheReferenceCountedPointer<T> r_ptr(new T()); +// or, equivalently: +// QuicheReferenceCountedPointer<T> r_ptr; +// T* p = new T(); +// r_ptr = T; +// +// QuicheReferenceCountedPointer is used as a member variable: +// MyClass::MyClass() : r_ptr(new T()) {} +// +// This is WRONG, since *p is not guaranteed to be newly created: +// MyClass::MyClass(T* p) : r_ptr(p) {} +// +// Given an existing QuicheReferenceCountedPointer, create a duplicate that has +// its own reference on the object: +// QuicheReferenceCountedPointer<T> r_ptr_b(r_ptr_a); +// or, equivalently: +// QuicheReferenceCountedPointer<T> r_ptr_b = r_ptr_a; +// +// Given an existing QuicheReferenceCountedPointer, create a +// QuicheReferenceCountedPointer that adopts the reference: +// QuicheReferenceCountedPointer<T> r_ptr_b(std::move(r_ptr_a)); +// or, equivalently: +// QuicheReferenceCountedPointer<T> r_ptr_b = std::move(r_ptr_a); + +template <class T> +class QUICHE_NO_EXPORT QuicheReferenceCountedPointer { + public: + QuicheReferenceCountedPointer() = default; + + // Constructor from raw pointer |p|. This guarantees that the reference count + // of *p is 1. This should be only called when a new object is created. + // Calling this on an already existent object does not increase its reference + // count. + explicit QuicheReferenceCountedPointer(T* p) : impl_(p) {} + + // Allows implicit conversion from nullptr. + QuicheReferenceCountedPointer(std::nullptr_t) : impl_(nullptr) {} // NOLINT + + // Copy and copy conversion constructors. It does not take the reference away + // from |other| and they each end up with their own reference. + template <typename U> + QuicheReferenceCountedPointer( // NOLINT + const QuicheReferenceCountedPointer<U>& other) + : impl_(other.impl()) {} + QuicheReferenceCountedPointer(const QuicheReferenceCountedPointer& other) + : impl_(other.impl()) {} + + // Move constructors. After move, it adopts the reference from |other|. + template <typename U> + QuicheReferenceCountedPointer( + QuicheReferenceCountedPointer<U>&& other) // NOLINT + : impl_(std::move(other.impl())) {} + QuicheReferenceCountedPointer(QuicheReferenceCountedPointer&& other) + : impl_(std::move(other.impl())) {} + + ~QuicheReferenceCountedPointer() = default; + + // Copy assignments. + QuicheReferenceCountedPointer& operator=( + const QuicheReferenceCountedPointer& other) { + impl_ = other.impl(); + return *this; + } + template <typename U> + QuicheReferenceCountedPointer<T>& operator=( + const QuicheReferenceCountedPointer<U>& other) { + impl_ = other.impl(); + return *this; + } + + // Move assignments. + QuicheReferenceCountedPointer& operator=( + QuicheReferenceCountedPointer&& other) { + impl_ = std::move(other.impl()); + return *this; + } + template <typename U> + QuicheReferenceCountedPointer<T>& operator=( + QuicheReferenceCountedPointer<U>&& other) { + impl_ = std::move(other.impl()); + return *this; + } + + // Accessors for the referenced object. + // operator*() and operator->() will assert() if there is no current object. + T& operator*() const { return *impl_; } + T* operator->() const { return impl_.get(); } + + explicit operator bool() const { return static_cast<bool>(impl_); } + + // Assignment operator on raw pointer. Drops a reference to current pointee, + // if any, and replaces it with |p|. This guarantees that the reference count + // of *p is 1. This should only be used when a new object is created. Calling + // this on an already existent object is undefined behavior. + QuicheReferenceCountedPointer<T>& operator=(T* p) { + impl_ = p; + return *this; + } + + // Returns the raw pointer with no change in reference count. + T* get() const { return impl_.get(); } + + QuicheReferenceCountedPointerImpl<T>& impl() { return impl_; } + const QuicheReferenceCountedPointerImpl<T>& impl() const { return impl_; } + + // Comparisons against same type. + friend bool operator==(const QuicheReferenceCountedPointer& a, + const QuicheReferenceCountedPointer& b) { + return a.get() == b.get(); + } + friend bool operator!=(const QuicheReferenceCountedPointer& a, + const QuicheReferenceCountedPointer& b) { + return a.get() != b.get(); + } + + // Comparisons against nullptr. + friend bool operator==(const QuicheReferenceCountedPointer& a, + std::nullptr_t) { + return a.get() == nullptr; + } + friend bool operator==(std::nullptr_t, + const QuicheReferenceCountedPointer& b) { + return nullptr == b.get(); + } + friend bool operator!=(const QuicheReferenceCountedPointer& a, + std::nullptr_t) { + return a.get() != nullptr; + } + friend bool operator!=(std::nullptr_t, + const QuicheReferenceCountedPointer& b) { + return nullptr != b.get(); + } + + private: + QuicheReferenceCountedPointerImpl<T> impl_; +}; + +} // namespace quiche + +#endif // QUICHE_QUIC_PLATFORM_API_QUIC_REFERENCE_COUNTED_H_
diff --git a/common/platform/api/quiche_reference_counted_test.cc b/common/platform/api/quiche_reference_counted_test.cc new file mode 100644 index 0000000..bb4dc4f --- /dev/null +++ b/common/platform/api/quiche_reference_counted_test.cc
@@ -0,0 +1,173 @@ +// Copyright (c) 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "common/platform/api/quiche_reference_counted.h" + +#include "quic/platform/api/quic_test.h" + +namespace quiche { +namespace test { +namespace { + +class Base : public QuicheReferenceCounted { + public: + explicit Base(bool* destroyed) : destroyed_(destroyed) { + *destroyed_ = false; + } + + protected: + ~Base() override { *destroyed_ = true; } + + private: + bool* destroyed_; +}; + +class Derived : public Base { + public: + explicit Derived(bool* destroyed) : Base(destroyed) {} + + private: + ~Derived() override {} +}; + +class QuicheReferenceCountedTest : public QuicTest {}; + +TEST_F(QuicheReferenceCountedTest, DefaultConstructor) { + QuicheReferenceCountedPointer<Base> a; + EXPECT_EQ(nullptr, a); + EXPECT_EQ(nullptr, a.get()); + EXPECT_FALSE(a); +} + +TEST_F(QuicheReferenceCountedTest, ConstructFromRawPointer) { + bool destroyed = false; + { + QuicheReferenceCountedPointer<Base> a(new Base(&destroyed)); + EXPECT_FALSE(destroyed); + } + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, RawPointerAssignment) { + bool destroyed = false; + { + QuicheReferenceCountedPointer<Base> a; + Base* rct = new Base(&destroyed); + a = rct; + EXPECT_FALSE(destroyed); + } + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerCopy) { + bool destroyed = false; + { + QuicheReferenceCountedPointer<Base> a(new Base(&destroyed)); + { + QuicheReferenceCountedPointer<Base> b(a); + EXPECT_EQ(a, b); + EXPECT_FALSE(destroyed); + } + EXPECT_FALSE(destroyed); + } + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerCopyAssignment) { + bool destroyed = false; + { + QuicheReferenceCountedPointer<Base> a(new Base(&destroyed)); + { + QuicheReferenceCountedPointer<Base> b = a; + EXPECT_EQ(a, b); + EXPECT_FALSE(destroyed); + } + EXPECT_FALSE(destroyed); + } + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerCopyFromOtherType) { + bool destroyed = false; + { + QuicheReferenceCountedPointer<Derived> a(new Derived(&destroyed)); + { + QuicheReferenceCountedPointer<Base> b(a); + EXPECT_EQ(a.get(), b.get()); + EXPECT_FALSE(destroyed); + } + EXPECT_FALSE(destroyed); + } + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerCopyAssignmentFromOtherType) { + bool destroyed = false; + { + QuicheReferenceCountedPointer<Derived> a(new Derived(&destroyed)); + { + QuicheReferenceCountedPointer<Base> b = a; + EXPECT_EQ(a.get(), b.get()); + EXPECT_FALSE(destroyed); + } + EXPECT_FALSE(destroyed); + } + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerMove) { + bool destroyed = false; + QuicheReferenceCountedPointer<Base> a(new Derived(&destroyed)); + EXPECT_FALSE(destroyed); + QuicheReferenceCountedPointer<Base> b(std::move(a)); + EXPECT_FALSE(destroyed); + EXPECT_NE(nullptr, b); + EXPECT_EQ(nullptr, a); // NOLINT + + b = nullptr; + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerMoveAssignment) { + bool destroyed = false; + QuicheReferenceCountedPointer<Base> a(new Derived(&destroyed)); + EXPECT_FALSE(destroyed); + QuicheReferenceCountedPointer<Base> b = std::move(a); + EXPECT_FALSE(destroyed); + EXPECT_NE(nullptr, b); + EXPECT_EQ(nullptr, a); // NOLINT + + b = nullptr; + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerMoveFromOtherType) { + bool destroyed = false; + QuicheReferenceCountedPointer<Derived> a(new Derived(&destroyed)); + EXPECT_FALSE(destroyed); + QuicheReferenceCountedPointer<Base> b(std::move(a)); + EXPECT_FALSE(destroyed); + EXPECT_NE(nullptr, b); + EXPECT_EQ(nullptr, a); // NOLINT + + b = nullptr; + EXPECT_TRUE(destroyed); +} + +TEST_F(QuicheReferenceCountedTest, PointerMoveAssignmentFromOtherType) { + bool destroyed = false; + QuicheReferenceCountedPointer<Derived> a(new Derived(&destroyed)); + EXPECT_FALSE(destroyed); + QuicheReferenceCountedPointer<Base> b = std::move(a); + EXPECT_FALSE(destroyed); + EXPECT_NE(nullptr, b); + EXPECT_EQ(nullptr, a); // NOLINT + + b = nullptr; + EXPECT_TRUE(destroyed); +} + +} // namespace +} // namespace test +} // namespace quiche
diff --git a/quic/core/crypto/client_proof_source.cc b/quic/core/crypto/client_proof_source.cc index 4e4d442..7f2e1fd 100644 --- a/quic/core/crypto/client_proof_source.cc +++ b/quic/core/crypto/client_proof_source.cc
@@ -10,7 +10,7 @@ bool DefaultClientProofSource::AddCertAndKey( std::vector<std::string> server_hostnames, - QuicReferenceCountedPointer<Chain> chain, + quiche::QuicheReferenceCountedPointer<Chain> chain, CertificatePrivateKey private_key) { if (!ValidateCertAndKey(chain, private_key)) { return false;
diff --git a/quic/core/crypto/client_proof_source.h b/quic/core/crypto/client_proof_source.h index d1ab26c..2db8205 100644 --- a/quic/core/crypto/client_proof_source.h +++ b/quic/core/crypto/client_proof_source.h
@@ -22,11 +22,11 @@ virtual ~ClientProofSource() {} struct QUIC_EXPORT_PRIVATE CertAndKey { - CertAndKey(QuicReferenceCountedPointer<Chain> chain, + CertAndKey(quiche::QuicheReferenceCountedPointer<Chain> chain, CertificatePrivateKey private_key) : chain(std::move(chain)), private_key(std::move(private_key)) {} - QuicReferenceCountedPointer<Chain> chain; + quiche::QuicheReferenceCountedPointer<Chain> chain; CertificatePrivateKey private_key; }; @@ -54,7 +54,7 @@ // If any element of |server_hostnames| is already associated with a cert // chain, it will be updated to be associated with the new cert chain. bool AddCertAndKey(std::vector<std::string> server_hostnames, - QuicReferenceCountedPointer<Chain> chain, + quiche::QuicheReferenceCountedPointer<Chain> chain, CertificatePrivateKey private_key); // ClientProofSource implementation
diff --git a/quic/core/crypto/client_proof_source_test.cc b/quic/core/crypto/client_proof_source_test.cc index 08f5b76..d8192b8 100644 --- a/quic/core/crypto/client_proof_source_test.cc +++ b/quic/core/crypto/client_proof_source_test.cc
@@ -11,8 +11,9 @@ namespace quic { namespace test { -QuicReferenceCountedPointer<ClientProofSource::Chain> TestCertChain() { - return QuicReferenceCountedPointer<ClientProofSource::Chain>( +quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain> +TestCertChain() { + return quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain>( new ClientProofSource::Chain({std::string(kTestCertificate)})); } @@ -32,17 +33,19 @@ return &cert_and_key; } -QuicReferenceCountedPointer<ClientProofSource::Chain> NullCertChain() { - return QuicReferenceCountedPointer<ClientProofSource::Chain>(); +quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain> +NullCertChain() { + return quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain>(); } -QuicReferenceCountedPointer<ClientProofSource::Chain> EmptyCertChain() { - return QuicReferenceCountedPointer<ClientProofSource::Chain>( +quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain> +EmptyCertChain() { + return quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain>( new ClientProofSource::Chain(std::vector<std::string>())); } -QuicReferenceCountedPointer<ClientProofSource::Chain> BadCertChain() { - return QuicReferenceCountedPointer<ClientProofSource::Chain>( +quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain> BadCertChain() { + return quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain>( new ClientProofSource::Chain({"This is the content of a bad cert."})); }
diff --git a/quic/core/crypto/crypto_handshake.h b/quic/core/crypto/crypto_handshake.h index eefe4b6..a7a5fb0 100644 --- a/quic/core/crypto/crypto_handshake.h +++ b/quic/core/crypto/crypto_handshake.h
@@ -98,7 +98,7 @@ // Parameters negotiated by the crypto handshake. struct QUIC_EXPORT_PRIVATE QuicCryptoNegotiatedParameters - : public QuicReferenceCounted { + : public quiche::QuicheReferenceCounted { // Initializes the members to 0 or empty values. QuicCryptoNegotiatedParameters();
diff --git a/quic/core/crypto/crypto_server_test.cc b/quic/core/crypto/crypto_server_test.cc index 90327e3..d6c5815 100644 --- a/quic/core/crypto/crypto_server_test.cc +++ b/quic/core/crypto/crypto_server_test.cc
@@ -166,8 +166,9 @@ ASSERT_TRUE(server_config_->GetStringPiece(kSCID, &scid)); scid_hex_ = "#" + absl::BytesToHexString(scid); - signed_config_ = QuicReferenceCountedPointer<QuicSignedServerConfig>( - new QuicSignedServerConfig()); + signed_config_ = + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig>( + new QuicSignedServerConfig()); QUICHE_DCHECK(signed_config_->chain.get() == nullptr); } @@ -186,7 +187,7 @@ *called_ = false; } - void Run(QuicReferenceCountedPointer<Result> result, + void Run(quiche::QuicheReferenceCountedPointer<Result> result, std::unique_ptr<ProofSource::Details> /* details */) override { ASSERT_FALSE(*called_); test_->ProcessValidationResult(std::move(result), should_succeed_, @@ -247,10 +248,8 @@ class ProcessCallback : public ProcessClientHelloResultCallback { public: ProcessCallback( - QuicReferenceCountedPointer<ValidateCallback::Result> result, - bool should_succeed, - const char* error_substr, - bool* called, + quiche::QuicheReferenceCountedPointer<ValidateCallback::Result> result, + bool should_succeed, const char* error_substr, bool* called, CryptoHandshakeMessage* out) : result_(std::move(result)), should_succeed_(should_succeed), @@ -283,7 +282,8 @@ } private: - const QuicReferenceCountedPointer<ValidateCallback::Result> result_; + const quiche::QuicheReferenceCountedPointer<ValidateCallback::Result> + result_; const bool should_succeed_; const char* const error_substr_; bool* called_; @@ -291,9 +291,8 @@ }; void ProcessValidationResult( - QuicReferenceCountedPointer<ValidateCallback::Result> result, - bool should_succeed, - const char* error_substr) { + quiche::QuicheReferenceCountedPointer<ValidateCallback::Result> result, + bool should_succeed, const char* error_substr) { QuicSocketAddress server_address(QuicIpAddress::Any4(), 5); bool called; config_.ProcessClientHello( @@ -355,8 +354,8 @@ QuicCryptoServerConfigPeer peer_; QuicCompressedCertsCache compressed_certs_cache_; QuicCryptoServerConfig::ConfigOptions config_options_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config_; + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config_; CryptoHandshakeMessage out_; uint8_t orbit_[kOrbitSize]; size_t chlo_packet_size_;
diff --git a/quic/core/crypto/proof_source.cc b/quic/core/crypto/proof_source.cc index 9cb85c2..1f25a3c 100644 --- a/quic/core/crypto/proof_source.cc +++ b/quic/core/crypto/proof_source.cc
@@ -33,7 +33,7 @@ } bool ValidateCertAndKey( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const CertificatePrivateKey& key) { if (chain.get() == nullptr || chain->certs.empty()) { QUIC_BUG(quic_proof_source_empty_chain) << "Certificate chain is empty";
diff --git a/quic/core/crypto/proof_source.h b/quic/core/crypto/proof_source.h index 2eb755a..8a57df6 100644 --- a/quic/core/crypto/proof_source.h +++ b/quic/core/crypto/proof_source.h
@@ -15,8 +15,8 @@ #include "quic/core/crypto/quic_crypto_proof.h" #include "quic/core/quic_versions.h" #include "quic/platform/api/quic_export.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_socket_address.h" +#include "common/platform/api/quiche_reference_counted.h" namespace quic { @@ -41,7 +41,7 @@ public: // Chain is a reference-counted wrapper for a vector of stringified // certificates. - struct QUIC_EXPORT_PRIVATE Chain : public QuicReferenceCounted { + struct QUIC_EXPORT_PRIVATE Chain : public quiche::QuicheReferenceCounted { explicit Chain(const std::vector<std::string>& certs); Chain(const Chain&) = delete; Chain& operator=(const Chain&) = delete; @@ -83,7 +83,7 @@ // any, gathered during the operation of GetProof. If no stats are // available, this will be nullptr. virtual void Run(bool ok, - const QuicReferenceCountedPointer<Chain>& chain, + const quiche::QuicheReferenceCountedPointer<Chain>& chain, const QuicCryptoProof& proof, std::unique_ptr<Details> details) = 0; @@ -149,7 +149,7 @@ // // Sets *cert_matched_sni to true if the certificate matched the given // hostname, false if a default cert not matching the hostname was used. - virtual QuicReferenceCountedPointer<Chain> GetCertChain( + virtual quiche::QuicheReferenceCountedPointer<Chain> GetCertChain( const QuicSocketAddress& server_address, const QuicSocketAddress& client_address, const std::string& hostname, bool* cert_matched_sni) = 0; @@ -347,7 +347,7 @@ // Returns true if |chain| contains a parsable DER-encoded X.509 leaf cert and // it matches with |key|. QUIC_EXPORT_PRIVATE bool ValidateCertAndKey( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const CertificatePrivateKey& key); } // namespace quic
diff --git a/quic/core/crypto/proof_source_x509.cc b/quic/core/crypto/proof_source_x509.cc index 986ee32..ec9b85e 100644 --- a/quic/core/crypto/proof_source_x509.cc +++ b/quic/core/crypto/proof_source_x509.cc
@@ -18,7 +18,7 @@ namespace quic { std::unique_ptr<ProofSourceX509> ProofSourceX509::Create( - QuicReferenceCountedPointer<Chain> default_chain, + quiche::QuicheReferenceCountedPointer<Chain> default_chain, CertificatePrivateKey default_key) { std::unique_ptr<ProofSourceX509> result(new ProofSourceX509()); if (!result->AddCertificateChain(default_chain, std::move(default_key))) { @@ -61,10 +61,11 @@ nullptr); } -QuicReferenceCountedPointer<ProofSource::Chain> ProofSourceX509::GetCertChain( - const QuicSocketAddress& /*server_address*/, - const QuicSocketAddress& /*client_address*/, const std::string& hostname, - bool* cert_matched_sni) { +quiche::QuicheReferenceCountedPointer<ProofSource::Chain> +ProofSourceX509::GetCertChain(const QuicSocketAddress& /*server_address*/, + const QuicSocketAddress& /*client_address*/, + const std::string& hostname, + bool* cert_matched_sni) { return GetCertificate(hostname, cert_matched_sni)->chain; } @@ -93,7 +94,7 @@ } bool ProofSourceX509::AddCertificateChain( - QuicReferenceCountedPointer<Chain> chain, + quiche::QuicheReferenceCountedPointer<Chain> chain, CertificatePrivateKey key) { if (chain->certs.empty()) { QUIC_BUG(quic_bug_10644_1) << "Empty certificate chain supplied.";
diff --git a/quic/core/crypto/proof_source_x509.h b/quic/core/crypto/proof_source_x509.h index 4b7ae51..8c42f24 100644 --- a/quic/core/crypto/proof_source_x509.h +++ b/quic/core/crypto/proof_source_x509.h
@@ -24,7 +24,7 @@ // Creates a proof source that uses |default_chain| when no SubjectAltName // value matches. Returns nullptr if |default_chain| is invalid. static std::unique_ptr<ProofSourceX509> Create( - QuicReferenceCountedPointer<Chain> default_chain, + quiche::QuicheReferenceCountedPointer<Chain> default_chain, CertificatePrivateKey default_key); // ProofSource implementation. @@ -35,7 +35,7 @@ QuicTransportVersion transport_version, absl::string_view chlo_hash, std::unique_ptr<Callback> callback) override; - QuicReferenceCountedPointer<Chain> GetCertChain( + quiche::QuicheReferenceCountedPointer<Chain> GetCertChain( const QuicSocketAddress& server_address, const QuicSocketAddress& client_address, const std::string& hostname, bool* cert_matched_sni) override; @@ -52,14 +52,14 @@ // not valid. Newer certificates will override older certificates with the // same SubjectAltName value. ABSL_MUST_USE_RESULT bool AddCertificateChain( - QuicReferenceCountedPointer<Chain> chain, + quiche::QuicheReferenceCountedPointer<Chain> chain, CertificatePrivateKey key); private: ProofSourceX509() = default; struct QUIC_EXPORT_PRIVATE Certificate { - QuicReferenceCountedPointer<Chain> chain; + quiche::QuicheReferenceCountedPointer<Chain> chain; CertificatePrivateKey key; };
diff --git a/quic/core/crypto/proof_source_x509_test.cc b/quic/core/crypto/proof_source_x509_test.cc index 1a9462f..1eac3fd 100644 --- a/quic/core/crypto/proof_source_x509_test.cc +++ b/quic/core/crypto/proof_source_x509_test.cc
@@ -12,18 +12,18 @@ #include "quic/core/crypto/proof_source.h" #include "quic/platform/api/quic_expect_bug.h" #include "quic/platform/api/quic_ip_address.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_socket_address.h" #include "quic/platform/api/quic_test.h" #include "quic/test_tools/test_certificates.h" +#include "common/platform/api/quiche_reference_counted.h" namespace quic { namespace test { namespace { -QuicReferenceCountedPointer<ProofSource::Chain> MakeChain( +quiche::QuicheReferenceCountedPointer<ProofSource::Chain> MakeChain( absl::string_view cert) { - return QuicReferenceCountedPointer<ProofSource::Chain>( + return quiche::QuicheReferenceCountedPointer<ProofSource::Chain>( new ProofSource::Chain(std::vector<std::string>{std::string(cert)})); } @@ -41,7 +41,8 @@ } protected: - QuicReferenceCountedPointer<ProofSource::Chain> test_chain_, wildcard_chain_; + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> test_chain_, + wildcard_chain_; std::unique_ptr<CertificatePrivateKey> test_key_, wildcard_key_; };
diff --git a/quic/core/crypto/quic_compressed_certs_cache.cc b/quic/core/crypto/quic_compressed_certs_cache.cc index 73008b9..3e011cc 100644 --- a/quic/core/crypto/quic_compressed_certs_cache.cc +++ b/quic/core/crypto/quic_compressed_certs_cache.cc
@@ -25,10 +25,9 @@ client_cached_cert_hashes(nullptr) {} QuicCompressedCertsCache::UncompressedCerts::UncompressedCerts( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string* client_cached_cert_hashes) - : chain(chain), - client_cached_cert_hashes(client_cached_cert_hashes) {} + : chain(chain), client_cached_cert_hashes(client_cached_cert_hashes) {} QuicCompressedCertsCache::UncompressedCerts::~UncompressedCerts() {} @@ -67,7 +66,7 @@ } const std::string* QuicCompressedCertsCache::GetCompressedCert( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes) { UncompressedCerts uncompressed_certs(chain, &client_cached_cert_hashes); @@ -86,7 +85,7 @@ } void QuicCompressedCertsCache::Insert( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes, const std::string& compressed_cert) { UncompressedCerts uncompressed_certs(chain, &client_cached_cert_hashes);
diff --git a/quic/core/crypto/quic_compressed_certs_cache.h b/quic/core/crypto/quic_compressed_certs_cache.h index 98e8a35..ffaf56f 100644 --- a/quic/core/crypto/quic_compressed_certs_cache.h +++ b/quic/core/crypto/quic_compressed_certs_cache.h
@@ -25,16 +25,17 @@ // Otherwise, return nullptr. // Returned pointer might become invalid on the next call to Insert(). const std::string* GetCompressedCert( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes); // Inserts the specified // |chain, client_cached_cert_hashes, compressed_cert| tuple to the cache. // If the insertion causes the cache to become overfull, entries will // be deleted in an LRU order to make room. - void Insert(const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const std::string& client_cached_cert_hashes, - const std::string& compressed_cert); + void Insert( + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const std::string& client_cached_cert_hashes, + const std::string& compressed_cert); // Returns max number of cache entries the cache can carry. size_t MaxSize(); @@ -52,11 +53,11 @@ struct QUIC_EXPORT_PRIVATE UncompressedCerts { UncompressedCerts(); UncompressedCerts( - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string* client_cached_cert_hashes); ~UncompressedCerts(); - const QuicReferenceCountedPointer<ProofSource::Chain> chain; + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain; const std::string* client_cached_cert_hashes; }; @@ -80,7 +81,7 @@ private: // Uncompressed certs data. - QuicReferenceCountedPointer<ProofSource::Chain> chain_; + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain_; const std::string client_cached_cert_hashes_; // Cached compressed representation derived from uncompressed certs.
diff --git a/quic/core/crypto/quic_compressed_certs_cache_test.cc b/quic/core/crypto/quic_compressed_certs_cache_test.cc index 2ce09c3..c76cd72 100644 --- a/quic/core/crypto/quic_compressed_certs_cache_test.cc +++ b/quic/core/crypto/quic_compressed_certs_cache_test.cc
@@ -29,7 +29,7 @@ TEST_F(QuicCompressedCertsCacheTest, CacheHit) { std::vector<std::string> certs = {"leaf cert", "intermediate cert", "root cert"}; - QuicReferenceCountedPointer<ProofSource::Chain> chain( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain( new ProofSource::Chain(certs)); std::string cached_certs = "cached certs"; std::string compressed = "compressed cert"; @@ -45,7 +45,7 @@ TEST_F(QuicCompressedCertsCacheTest, CacheMiss) { std::vector<std::string> certs = {"leaf cert", "intermediate cert", "root cert"}; - QuicReferenceCountedPointer<ProofSource::Chain> chain( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain( new ProofSource::Chain(certs)); std::string cached_certs = "cached certs"; @@ -57,7 +57,7 @@ certs_cache_.GetCompressedCert(chain, "mismatched cached certs")); // A different chain though with equivalent certs should get a cache miss. - QuicReferenceCountedPointer<ProofSource::Chain> chain2( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain2( new ProofSource::Chain(certs)); EXPECT_EQ(nullptr, certs_cache_.GetCompressedCert(chain2, cached_certs)); } @@ -67,7 +67,7 @@ // then evicted. std::vector<std::string> certs = {"leaf cert", "intermediate cert", "root cert"}; - QuicReferenceCountedPointer<ProofSource::Chain> chain( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain( new ProofSource::Chain(certs)); std::string cached_certs = "cached certs";
diff --git a/quic/core/crypto/quic_crypto_client_config.cc b/quic/core/crypto/quic_crypto_client_config.cc index 4f2d69e..4ddfb1e 100644 --- a/quic/core/crypto/quic_crypto_client_config.cc +++ b/quic/core/crypto/quic_crypto_client_config.cc
@@ -388,12 +388,10 @@ } void QuicCryptoClientConfig::FillInchoateClientHello( - const QuicServerId& server_id, - const ParsedQuicVersion preferred_version, - const CachedState* cached, - QuicRandom* rand, - bool demand_x509_proof, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + const QuicServerId& server_id, const ParsedQuicVersion preferred_version, + const CachedState* cached, QuicRandom* rand, bool demand_x509_proof, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, CryptoHandshakeMessage* out) const { out->set_tag(kCHLO); out->set_minimum_size(1); @@ -457,16 +455,13 @@ } QuicErrorCode QuicCryptoClientConfig::FillClientHello( - const QuicServerId& server_id, - QuicConnectionId connection_id, + const QuicServerId& server_id, QuicConnectionId connection_id, const ParsedQuicVersion preferred_version, - const ParsedQuicVersion actual_version, - const CachedState* cached, - QuicWallTime now, - QuicRandom* rand, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, - CryptoHandshakeMessage* out, - std::string* error_details) const { + const ParsedQuicVersion actual_version, const CachedState* cached, + QuicWallTime now, QuicRandom* rand, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, + CryptoHandshakeMessage* out, std::string* error_details) const { QUICHE_DCHECK(error_details != nullptr); QUIC_BUG_IF(quic_bug_12943_2, !QuicUtils::IsConnectionIdValidForVersion( @@ -677,12 +672,11 @@ } QuicErrorCode QuicCryptoClientConfig::ProcessRejection( - const CryptoHandshakeMessage& rej, - QuicWallTime now, - const QuicTransportVersion version, - absl::string_view chlo_hash, + const CryptoHandshakeMessage& rej, QuicWallTime now, + const QuicTransportVersion version, absl::string_view chlo_hash, CachedState* cached, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, std::string* error_details) { QUICHE_DCHECK(error_details != nullptr); @@ -708,11 +702,10 @@ QuicErrorCode QuicCryptoClientConfig::ProcessServerHello( const CryptoHandshakeMessage& server_hello, - QuicConnectionId /*connection_id*/, - ParsedQuicVersion version, - const ParsedQuicVersionVector& negotiated_versions, - CachedState* cached, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + QuicConnectionId /*connection_id*/, ParsedQuicVersion version, + const ParsedQuicVersionVector& negotiated_versions, CachedState* cached, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, std::string* error_details) { QUICHE_DCHECK(error_details != nullptr); @@ -770,12 +763,11 @@ } QuicErrorCode QuicCryptoClientConfig::ProcessServerConfigUpdate( - const CryptoHandshakeMessage& server_config_update, - QuicWallTime now, - const QuicTransportVersion version, - absl::string_view chlo_hash, + const CryptoHandshakeMessage& server_config_update, QuicWallTime now, + const QuicTransportVersion version, absl::string_view chlo_hash, CachedState* cached, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, std::string* error_details) { QUICHE_DCHECK(error_details != nullptr);
diff --git a/quic/core/crypto/quic_crypto_client_config.h b/quic/core/crypto/quic_crypto_client_config.h index 9c71aca..16e1475 100644 --- a/quic/core/crypto/quic_crypto_client_config.h +++ b/quic/core/crypto/quic_crypto_client_config.h
@@ -21,7 +21,7 @@ #include "quic/core/quic_packets.h" #include "quic/core/quic_server_id.h" #include "quic/platform/api/quic_export.h" -#include "quic/platform/api/quic_reference_counted.h" +#include "common/platform/api/quiche_reference_counted.h" namespace quic { @@ -265,12 +265,10 @@ // then |out| will include an X509 proof demand, and the associated // certificate related fields. void FillInchoateClientHello( - const QuicServerId& server_id, - const ParsedQuicVersion preferred_version, - const CachedState* cached, - QuicRandom* rand, - bool demand_x509_proof, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + const QuicServerId& server_id, const ParsedQuicVersion preferred_version, + const CachedState* cached, QuicRandom* rand, bool demand_x509_proof, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, CryptoHandshakeMessage* out) const; // FillClientHello sets |out| to be a CHLO message based on the configuration @@ -288,16 +286,13 @@ // from the client and server's keys, and the Channel ID public key and the // signature are placed in the CETV value of the CHLO. QuicErrorCode FillClientHello( - const QuicServerId& server_id, - QuicConnectionId connection_id, + const QuicServerId& server_id, QuicConnectionId connection_id, const ParsedQuicVersion preferred_version, - const ParsedQuicVersion actual_version, - const CachedState* cached, - QuicWallTime now, - QuicRandom* rand, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, - CryptoHandshakeMessage* out, - std::string* error_details) const; + const ParsedQuicVersion actual_version, const CachedState* cached, + QuicWallTime now, QuicRandom* rand, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, + CryptoHandshakeMessage* out, std::string* error_details) const; // ProcessRejection processes a REJ message from a server and updates the // cached information about that server. After this, |IsComplete| may return @@ -306,12 +301,11 @@ // will be saved in |out_params|. |now| is used to judge whether the server // config in the rejection message has expired. QuicErrorCode ProcessRejection( - const CryptoHandshakeMessage& rej, - QuicWallTime now, - QuicTransportVersion version, - absl::string_view chlo_hash, + const CryptoHandshakeMessage& rej, QuicWallTime now, + QuicTransportVersion version, absl::string_view chlo_hash, CachedState* cached, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, std::string* error_details); // ProcessServerHello processes the message in |server_hello|, updates the @@ -325,11 +319,10 @@ // versions provided in the VER tag of the server hello. QuicErrorCode ProcessServerHello( const CryptoHandshakeMessage& server_hello, - QuicConnectionId connection_id, - ParsedQuicVersion version, - const ParsedQuicVersionVector& negotiated_versions, - CachedState* cached, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + QuicConnectionId connection_id, ParsedQuicVersion version, + const ParsedQuicVersionVector& negotiated_versions, CachedState* cached, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, std::string* error_details); // Processes the message in |server_config_update|, updating the cached source @@ -341,7 +334,8 @@ const CryptoHandshakeMessage& server_config_update, QuicWallTime now, const QuicTransportVersion version, absl::string_view chlo_hash, CachedState* cached, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params, std::string* error_details); ProofVerifier* proof_verifier() const;
diff --git a/quic/core/crypto/quic_crypto_client_config_test.cc b/quic/core/crypto/quic_crypto_client_config_test.cc index 5bcf01c..a1f1562 100644 --- a/quic/core/crypto/quic_crypto_client_config_test.cc +++ b/quic/core/crypto/quic_crypto_client_config_test.cc
@@ -98,7 +98,7 @@ QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); config.set_user_agent_id("quic-tester"); config.set_alpn("hq"); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); CryptoHandshakeMessage msg; QuicServerId server_id("www.google.com", 443, false); @@ -127,7 +127,7 @@ config.set_pad_inchoate_hello(false); config.set_user_agent_id("quic-tester"); config.set_alpn("hq"); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); CryptoHandshakeMessage msg; QuicServerId server_id("www.google.com", 443, false); @@ -152,7 +152,7 @@ TEST_F(QuicCryptoClientConfigTest, InchoateChloSecure) { QuicCryptoClientConfig::CachedState state; QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); CryptoHandshakeMessage msg; QuicServerId server_id("www.google.com", 443, false); @@ -182,7 +182,7 @@ EXPECT_FALSE(state.IsEmpty()); QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); CryptoHandshakeMessage msg; QuicServerId server_id("www.google.com", 443, false); @@ -209,7 +209,7 @@ EXPECT_FALSE(state.IsEmpty()); QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); CryptoHandshakeMessage msg; QuicServerId server_id("www.google.com", 443, false); @@ -225,7 +225,7 @@ TEST_F(QuicCryptoClientConfigTest, FillClientHello) { QuicCryptoClientConfig::CachedState state; QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); QuicConnectionId kConnectionId = TestConnectionId(1234); std::string error_details; @@ -246,7 +246,7 @@ QuicCryptoClientConfig::CachedState state; QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); config.set_pad_full_hello(false); - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params( new QuicCryptoNegotiatedParameters); QuicConnectionId kConnectionId = TestConnectionId(1234); std::string error_details; @@ -281,8 +281,8 @@ msg.SetVersionVector(kVER, supported_version_vector); QuicCryptoClientConfig::CachedState cached; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params( - new QuicCryptoNegotiatedParameters); + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params(new QuicCryptoNegotiatedParameters); std::string error; QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); EXPECT_THAT(config.ProcessServerHello( @@ -444,8 +444,8 @@ // Now process the rejection. QuicCryptoClientConfig::CachedState cached; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params( - new QuicCryptoNegotiatedParameters); + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params(new QuicCryptoNegotiatedParameters); std::string error; QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); EXPECT_THAT( @@ -465,8 +465,8 @@ // Now process the rejection. QuicCryptoClientConfig::CachedState cached; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params( - new QuicCryptoNegotiatedParameters); + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params(new QuicCryptoNegotiatedParameters); std::string error; QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); EXPECT_THAT( @@ -495,8 +495,8 @@ QuicCryptoClientConfig config(crypto_test_utils::ProofVerifierForTesting()); QuicCryptoClientConfig::CachedState cached; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params( - new QuicCryptoNegotiatedParameters); + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + out_params(new QuicCryptoNegotiatedParameters); std::string error_details; EXPECT_THAT(config.ProcessServerHello(msg, EmptyQuicConnectionId(), version, supported_versions, &cached, out_params,
diff --git a/quic/core/crypto/quic_crypto_server_config.cc b/quic/core/crypto/quic_crypto_server_config.cc index ec4c038..b4335b9 100644 --- a/quic/core/crypto/quic_crypto_server_config.cc +++ b/quic/core/crypto/quic_crypto_server_config.cc
@@ -48,9 +48,9 @@ #include "quic/platform/api/quic_flags.h" #include "quic/platform/api/quic_hostname_utils.h" #include "quic/platform/api/quic_logging.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_socket_address.h" #include "quic/platform/api/quic_testvalue.h" +#include "common/platform/api/quiche_reference_counted.h" namespace quic { @@ -164,7 +164,8 @@ // Note: stores a pointer to a unique_ptr, and std::moves the unique_ptr when // ValidationComplete is called. ValidateClientHelloHelper( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result, std::unique_ptr<ValidateClientHelloResultCallback>* done_cb) : result_(std::move(result)), done_cb_(done_cb) {} @@ -194,7 +195,8 @@ } private: - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result_; std::unique_ptr<ValidateClientHelloResultCallback>* done_cb_; }; @@ -436,7 +438,7 @@ return nullptr; } - QuicReferenceCountedPointer<Config> config = + quiche::QuicheReferenceCountedPointer<Config> config = ParseConfigProtobuf(protobuf, /* is_fallback = */ false); if (!config) { QUIC_LOG(WARNING) << "Failed to parse server config message"; @@ -473,9 +475,9 @@ const std::vector<QuicServerConfigProtobuf>& protobufs, const QuicServerConfigProtobuf* fallback_protobuf, const QuicWallTime now) { - std::vector<QuicReferenceCountedPointer<Config>> parsed_configs; + std::vector<quiche::QuicheReferenceCountedPointer<Config>> parsed_configs; for (auto& protobuf : protobufs) { - QuicReferenceCountedPointer<Config> config = + quiche::QuicheReferenceCountedPointer<Config> config = ParseConfigProtobuf(protobuf, /* is_fallback = */ false); if (!config) { QUIC_LOG(WARNING) << "Rejecting QUIC configs because of above errors"; @@ -485,7 +487,7 @@ parsed_configs.push_back(config); } - QuicReferenceCountedPointer<Config> fallback_config; + quiche::QuicheReferenceCountedPointer<Config> fallback_config; if (fallback_protobuf != nullptr) { fallback_config = ParseConfigProtobuf(*fallback_protobuf, /* is_fallback = */ true); @@ -511,7 +513,8 @@ QuicWriterMutexLock locked(&configs_lock_); ConfigMap new_configs; - for (const QuicReferenceCountedPointer<Config>& config : parsed_configs) { + for (const quiche::QuicheReferenceCountedPointer<Config>& config : + parsed_configs) { auto it = configs_.find(config->id); if (it != configs_.end()) { QUIC_LOG(INFO) << "Keeping scid: " << absl::BytesToHexString(config->id) @@ -569,15 +572,15 @@ void QuicCryptoServerConfig::ValidateClientHello( const CryptoHandshakeMessage& client_hello, const QuicSocketAddress& client_address, - const QuicSocketAddress& server_address, - QuicTransportVersion version, + const QuicSocketAddress& server_address, QuicTransportVersion version, const QuicClock* clock, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config, std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const { const QuicWallTime now(clock->WallNow()); - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> result( - new ValidateClientHelloResultCallback::Result( + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> + result(new ValidateClientHelloResultCallback::Result( client_hello, client_address.host(), now)); absl::string_view requested_scid; @@ -614,10 +617,11 @@ const Configs& configs) : config_(config), context_(std::move(context)), configs_(configs) {} - void Run(bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const QuicCryptoProof& proof, - std::unique_ptr<ProofSource::Details> details) override { + void Run( + bool ok, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const QuicCryptoProof& proof, + std::unique_ptr<ProofSource::Details> details) override { if (ok) { context_->signed_config()->chain = chain; context_->signed_config()->proof = proof; @@ -674,17 +678,18 @@ SendRejectWithFallbackConfigCallback( const QuicCryptoServerConfig* config, std::unique_ptr<ProcessClientHelloContext> context, - QuicReferenceCountedPointer<Config> fallback_config) + quiche::QuicheReferenceCountedPointer<Config> fallback_config) : config_(config), context_(std::move(context)), fallback_config_(fallback_config) {} // Capture |chain| and |proof| into the signed config, and then invoke // SendRejectWithFallbackConfigAfterGetProof. - void Run(bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const QuicCryptoProof& proof, - std::unique_ptr<ProofSource::Details> details) override { + void Run( + bool ok, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const QuicCryptoProof& proof, + std::unique_ptr<ProofSource::Details> details) override { if (ok) { context_->signed_config()->chain = chain; context_->signed_config()->proof = proof; @@ -696,25 +701,22 @@ private: const QuicCryptoServerConfig* config_; std::unique_ptr<ProcessClientHelloContext> context_; - QuicReferenceCountedPointer<Config> fallback_config_; + quiche::QuicheReferenceCountedPointer<Config> fallback_config_; }; void QuicCryptoServerConfig::ProcessClientHello( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> validate_chlo_result, - bool reject_only, - QuicConnectionId connection_id, + bool reject_only, QuicConnectionId connection_id, const QuicSocketAddress& server_address, - const QuicSocketAddress& client_address, - ParsedQuicVersion version, - const ParsedQuicVersionVector& supported_versions, - const QuicClock* clock, - QuicRandom* rand, - QuicCompressedCertsCache* compressed_certs_cache, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, - QuicByteCount total_framing_overhead, - QuicByteCount chlo_packet_size, + const QuicSocketAddress& client_address, ParsedQuicVersion version, + const ParsedQuicVersionVector& supported_versions, const QuicClock* clock, + QuicRandom* rand, QuicCompressedCertsCache* compressed_certs_cache, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + params, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config, + QuicByteCount total_framing_overhead, QuicByteCount chlo_packet_size, std::unique_ptr<ProcessClientHelloResultCallback> done_cb) const { QUICHE_DCHECK(done_cb); auto context = std::make_unique<ProcessClientHelloContext>( @@ -1072,7 +1074,7 @@ void QuicCryptoServerConfig::SendRejectWithFallbackConfig( std::unique_ptr<ProcessClientHelloContext> context, - QuicReferenceCountedPointer<Config> fallback_config) const { + quiche::QuicheReferenceCountedPointer<Config> fallback_config) const { // We failed to calculate a shared initial key, likely because we tried to use // a remote key-exchange service which could not be reached. We want to send // a REJ which tells the client to use a different ServerConfig which @@ -1096,7 +1098,7 @@ bool found_error, std::unique_ptr<ProofSource::Details> proof_source_details, std::unique_ptr<ProcessClientHelloContext> context, - QuicReferenceCountedPointer<Config> fallback_config) const { + quiche::QuicheReferenceCountedPointer<Config> fallback_config) const { if (found_error) { context->Fail(QUIC_HANDSHAKE_FAILED, "Failed to get proof"); return; @@ -1111,7 +1113,7 @@ std::move(proof_source_details)); } -QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> +quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> QuicCryptoServerConfig::GetConfigWithScid( absl::string_view requested_scid) const { configs_lock_.AssertReaderHeld(); @@ -1121,17 +1123,16 @@ if (it != configs_.end()) { // We'll use the config that the client requested in order to do // key-agreement. - return QuicReferenceCountedPointer<Config>(it->second); + return quiche::QuicheReferenceCountedPointer<Config>(it->second); } } - return QuicReferenceCountedPointer<Config>(); + return quiche::QuicheReferenceCountedPointer<Config>(); } bool QuicCryptoServerConfig::GetCurrentConfigs( - const QuicWallTime& now, - absl::string_view requested_scid, - QuicReferenceCountedPointer<Config> old_primary_config, + const QuicWallTime& now, absl::string_view requested_scid, + quiche::QuicheReferenceCountedPointer<Config> old_primary_config, Configs* configs) const { QuicReaderMutexLock locked(&configs_lock_); @@ -1165,8 +1166,8 @@ // Config's based on their primary_time. // static bool QuicCryptoServerConfig::ConfigPrimaryTimeLessThan( - const QuicReferenceCountedPointer<Config>& a, - const QuicReferenceCountedPointer<Config>& b) { + const quiche::QuicheReferenceCountedPointer<Config>& a, + const quiche::QuicheReferenceCountedPointer<Config>& b) { if (a->primary_time.IsBefore(b->primary_time) || b->primary_time.IsBefore(a->primary_time)) { // Primary times differ. @@ -1182,7 +1183,7 @@ void QuicCryptoServerConfig::SelectNewPrimaryConfig( const QuicWallTime now) const { - std::vector<QuicReferenceCountedPointer<Config>> configs; + std::vector<quiche::QuicheReferenceCountedPointer<Config>> configs; configs.reserve(configs_.size()); for (auto it = configs_.begin(); it != configs_.end(); ++it) { @@ -1202,10 +1203,10 @@ std::sort(configs.begin(), configs.end(), ConfigPrimaryTimeLessThan); - QuicReferenceCountedPointer<Config> best_candidate = configs[0]; + quiche::QuicheReferenceCountedPointer<Config> best_candidate = configs[0]; for (size_t i = 0; i < configs.size(); ++i) { - const QuicReferenceCountedPointer<Config> config(configs[i]); + const quiche::QuicheReferenceCountedPointer<Config> config(configs[i]); if (!config->primary_time.IsAfter(now)) { if (config->primary_time.IsAfter(best_candidate->primary_time)) { best_candidate = config; @@ -1216,7 +1217,7 @@ // This is the first config with a primary_time in the future. Thus the // previous Config should be the primary and this one should determine the // next_config_promotion_time_. - QuicReferenceCountedPointer<Config> new_primary = best_candidate; + quiche::QuicheReferenceCountedPointer<Config> new_primary = best_candidate; if (i == 0) { // We need the primary_time of the next config. if (configs.size() > 1) { @@ -1247,7 +1248,7 @@ // All config's primary times are in the past. We should make the most recent // and highest priority candidate primary. - QuicReferenceCountedPointer<Config> new_primary = best_candidate; + quiche::QuicheReferenceCountedPointer<Config> new_primary = best_candidate; if (primary_config_) { primary_config_->is_primary = false; } @@ -1267,9 +1268,9 @@ void QuicCryptoServerConfig::EvaluateClientHello( const QuicSocketAddress& /*server_address*/, const QuicSocketAddress& /*client_address*/, - QuicTransportVersion /*version*/, - const Configs& configs, - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + QuicTransportVersion /*version*/, const Configs& configs, + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> client_hello_state, std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const { ValidateClientHelloHelper helper(client_hello_state, &done_cb); @@ -1414,7 +1415,7 @@ void QuicCryptoServerConfig::BuildServerConfigUpdateMessageProofSourceCallback:: Run(bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const QuicCryptoProof& proof, std::unique_ptr<ProofSource::Details> details) { config_->FinishBuildServerConfigUpdateMessage( @@ -1426,13 +1427,10 @@ void QuicCryptoServerConfig::FinishBuildServerConfigUpdateMessage( QuicCompressedCertsCache* compressed_certs_cache, - const std::string& client_cached_cert_hashes, - bool sct_supported_by_client, - const std::string& sni, - bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const std::string& signature, - const std::string& leaf_cert_sct, + const std::string& client_cached_cert_hashes, bool sct_supported_by_client, + const std::string& sni, bool ok, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const std::string& signature, const std::string& leaf_cert_sct, std::unique_ptr<ProofSource::Details> /*details*/, CryptoHandshakeMessage message, std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb) const { @@ -1580,7 +1578,7 @@ std::string QuicCryptoServerConfig::CompressChain( QuicCompressedCertsCache* compressed_certs_cache, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes) { // Check whether the compressed certs is available in the cache. QUICHE_DCHECK(compressed_certs_cache); @@ -1596,10 +1594,9 @@ return compressed; } -QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> +quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> QuicCryptoServerConfig::ParseConfigProtobuf( - const QuicServerConfigProtobuf& protobuf, - bool is_fallback) const { + const QuicServerConfigProtobuf& protobuf, bool is_fallback) const { std::unique_ptr<CryptoHandshakeMessage> msg = CryptoFramer::ParseMessage(protobuf.config()); @@ -1614,7 +1611,7 @@ return nullptr; } - QuicReferenceCountedPointer<Config> config(new Config); + quiche::QuicheReferenceCountedPointer<Config> config(new Config); config->serialized = protobuf.config(); config->source_address_token_boxer = &source_address_token_boxer_;
diff --git a/quic/core/crypto/quic_crypto_server_config.h b/quic/core/crypto/quic_crypto_server_config.h index 8ee793a..3e7acb2 100644 --- a/quic/core/crypto/quic_crypto_server_config.h +++ b/quic/core/crypto/quic_crypto_server_config.h
@@ -27,8 +27,8 @@ #include "quic/core/quic_time.h" #include "quic/platform/api/quic_export.h" #include "quic/platform/api/quic_mutex.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_socket_address.h" +#include "common/platform/api/quiche_reference_counted.h" namespace quic { @@ -83,7 +83,7 @@ public: // Opaque token that holds information about the client_hello and // its validity. Can be interpreted by calling ProcessClientHello. - struct QUIC_EXPORT_PRIVATE Result : public QuicReferenceCounted { + struct QUIC_EXPORT_PRIVATE Result : public quiche::QuicheReferenceCounted { Result(const CryptoHandshakeMessage& in_client_hello, QuicIpAddress in_client_ip, QuicWallTime in_now); @@ -106,7 +106,7 @@ ValidateClientHelloResultCallback& operator=( const ValidateClientHelloResultCallback&) = delete; virtual ~ValidateClientHelloResultCallback(); - virtual void Run(QuicReferenceCountedPointer<Result> result, + virtual void Run(quiche::QuicheReferenceCountedPointer<Result> result, std::unique_ptr<ProofSource::Details> details) = 0; }; @@ -295,7 +295,8 @@ const QuicSocketAddress& client_address, const QuicSocketAddress& server_address, QuicTransportVersion version, const QuicClock* clock, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config, std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const; // ProcessClientHello processes |client_hello| and decides whether to accept @@ -328,15 +329,18 @@ // chlo_packet_size: the size, in bytes, of the CHLO packet // done_cb: the callback invoked on completion void ProcessClientHello( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> validate_chlo_result, bool reject_only, QuicConnectionId connection_id, const QuicSocketAddress& server_address, const QuicSocketAddress& client_address, ParsedQuicVersion version, const ParsedQuicVersionVector& supported_versions, const QuicClock* clock, QuicRandom* rand, QuicCompressedCertsCache* compressed_certs_cache, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + params, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config, QuicByteCount total_framing_overhead, QuicByteCount chlo_packet_size, std::unique_ptr<ProcessClientHelloResultCallback> done_cb) const; @@ -472,7 +476,7 @@ // Config represents a server config: a collection of preferences and // Diffie-Hellman public values. class QUIC_EXPORT_PRIVATE Config : public QuicCryptoConfig, - public QuicReferenceCounted { + public quiche::QuicheReferenceCounted { public: Config(); Config(const Config&) = delete; @@ -530,18 +534,18 @@ }; using ConfigMap = - std::map<ServerConfigID, QuicReferenceCountedPointer<Config>>; + std::map<ServerConfigID, quiche::QuicheReferenceCountedPointer<Config>>; // Get a ref to the config with a given server config id. - QuicReferenceCountedPointer<Config> GetConfigWithScid( + quiche::QuicheReferenceCountedPointer<Config> GetConfigWithScid( absl::string_view requested_scid) const QUIC_SHARED_LOCKS_REQUIRED(configs_lock_); // A snapshot of the configs associated with an in-progress handshake. struct QUIC_EXPORT_PRIVATE Configs { - QuicReferenceCountedPointer<Config> requested; - QuicReferenceCountedPointer<Config> primary; - QuicReferenceCountedPointer<Config> fallback; + quiche::QuicheReferenceCountedPointer<Config> requested; + quiche::QuicheReferenceCountedPointer<Config> primary; + quiche::QuicheReferenceCountedPointer<Config> fallback; }; // Get a snapshot of the current configs associated with a handshake. If this @@ -550,16 +554,16 @@ // // Returns true if any configs are loaded. If false is returned, |configs| is // not modified. - bool GetCurrentConfigs(const QuicWallTime& now, - absl::string_view requested_scid, - QuicReferenceCountedPointer<Config> old_primary_config, - Configs* configs) const; + bool GetCurrentConfigs( + const QuicWallTime& now, absl::string_view requested_scid, + quiche::QuicheReferenceCountedPointer<Config> old_primary_config, + Configs* configs) const; // ConfigPrimaryTimeLessThan returns true if a->primary_time < // b->primary_time. static bool ConfigPrimaryTimeLessThan( - const QuicReferenceCountedPointer<Config>& a, - const QuicReferenceCountedPointer<Config>& b); + const quiche::QuicheReferenceCountedPointer<Config>& a, + const quiche::QuicheReferenceCountedPointer<Config>& b); // SelectNewPrimaryConfig reevaluates the primary config based on the // "primary_time" deadlines contained in each. @@ -571,10 +575,10 @@ // are written to |client_hello_state->info|. void EvaluateClientHello( const QuicSocketAddress& server_address, - const QuicSocketAddress& client_address, - QuicTransportVersion version, + const QuicSocketAddress& client_address, QuicTransportVersion version, const Configs& configs, - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> client_hello_state, std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const; @@ -583,21 +587,20 @@ class QUIC_EXPORT_PRIVATE ProcessClientHelloContext { public: ProcessClientHelloContext( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> validate_chlo_result, - bool reject_only, - QuicConnectionId connection_id, + bool reject_only, QuicConnectionId connection_id, const QuicSocketAddress& server_address, - const QuicSocketAddress& client_address, - ParsedQuicVersion version, + const QuicSocketAddress& client_address, ParsedQuicVersion version, const ParsedQuicVersionVector& supported_versions, - const QuicClock* clock, - QuicRandom* rand, + const QuicClock* clock, QuicRandom* rand, QuicCompressedCertsCache* compressed_certs_cache, - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, - QuicByteCount total_framing_overhead, - QuicByteCount chlo_packet_size, + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + params, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config, + QuicByteCount total_framing_overhead, QuicByteCount chlo_packet_size, std::unique_ptr<ProcessClientHelloResultCallback> done_cb) : validate_chlo_result_(validate_chlo_result), reject_only_(reject_only), @@ -626,7 +629,8 @@ std::unique_ptr<ProofSource::Details> proof_source_details); // Member accessors - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> validate_chlo_result() const { return validate_chlo_result_; } @@ -643,10 +647,12 @@ QuicCompressedCertsCache* compressed_certs_cache() const { return compressed_certs_cache_; } - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params() const { + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + params() const { return params_; } - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config() const { + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config() const { return signed_config_; } QuicByteCount total_framing_overhead() const { @@ -664,7 +670,8 @@ } private: - const QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + const quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> validate_chlo_result_; const bool reject_only_; const QuicConnectionId connection_id_; @@ -675,8 +682,10 @@ const QuicClock* const clock_; QuicRandom* const rand_; QuicCompressedCertsCache* const compressed_certs_cache_; - const QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; - const QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config_; + const quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> + params_; + const quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config_; const QuicByteCount total_framing_overhead_; const QuicByteCount chlo_packet_size_; std::unique_ptr<ProcessClientHelloResultCallback> done_cb_; @@ -715,7 +724,7 @@ // client used is not accessible. void SendRejectWithFallbackConfig( std::unique_ptr<ProcessClientHelloContext> context, - QuicReferenceCountedPointer<Config> fallback_config) const; + quiche::QuicheReferenceCountedPointer<Config> fallback_config) const; // Callback class for bridging between SendRejectWithFallbackConfig and // SendRejectWithFallbackConfigAfterGetProof. @@ -729,7 +738,7 @@ bool found_error, std::unique_ptr<ProofSource::Details> proof_source_details, std::unique_ptr<ProcessClientHelloContext> context, - QuicReferenceCountedPointer<Config> fallback_config) const; + quiche::QuicheReferenceCountedPointer<Config> fallback_config) const; // BuildRejectionAndRecordStats calls |BuildRejection| below and also informs // the RejectionObserver. @@ -749,15 +758,15 @@ // 64-bit, FNV-1a hashes of certificates that the peer already possesses. static std::string CompressChain( QuicCompressedCertsCache* compressed_certs_cache, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes); // ParseConfigProtobuf parses the given config protobuf and returns a - // QuicReferenceCountedPointer<Config> if successful. The caller adopts the - // reference to the Config. On error, ParseConfigProtobuf returns nullptr. - QuicReferenceCountedPointer<Config> ParseConfigProtobuf( - const QuicServerConfigProtobuf& protobuf, - bool is_fallback) const; + // quiche::QuicheReferenceCountedPointer<Config> if successful. The caller + // adopts the reference to the Config. On error, ParseConfigProtobuf returns + // nullptr. + quiche::QuicheReferenceCountedPointer<Config> ParseConfigProtobuf( + const QuicServerConfigProtobuf& protobuf, bool is_fallback) const; // ValidateSingleSourceAddressToken returns HANDSHAKE_OK if the source // address token in |token| is a timely token for the IP address |ip| @@ -806,10 +815,11 @@ CryptoHandshakeMessage message, std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb); - void Run(bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const QuicCryptoProof& proof, - std::unique_ptr<ProofSource::Details> details) override; + void Run( + bool ok, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const QuicCryptoProof& proof, + std::unique_ptr<ProofSource::Details> details) override; private: const QuicCryptoServerConfig* config_; @@ -827,12 +837,9 @@ void FinishBuildServerConfigUpdateMessage( QuicCompressedCertsCache* compressed_certs_cache, const std::string& client_cached_cert_hashes, - bool sct_supported_by_client, - const std::string& sni, - bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const std::string& signature, - const std::string& leaf_cert_sct, + bool sct_supported_by_client, const std::string& sni, bool ok, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const std::string& signature, const std::string& leaf_cert_sct, std::unique_ptr<ProofSource::Details> details, CryptoHandshakeMessage message, std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb) const; @@ -862,7 +869,7 @@ // primary_config_ points to a Config (which is also in |configs_|) which is // the primary config - i.e. the one that we'll give out to new clients. - mutable QuicReferenceCountedPointer<Config> primary_config_ + mutable quiche::QuicheReferenceCountedPointer<Config> primary_config_ QUIC_GUARDED_BY(configs_lock_); // fallback_config_ points to a Config (which is also in |configs_|) which is @@ -870,7 +877,7 @@ // for some reason. // // TODO(b/112548056): This is currently always nullptr. - QuicReferenceCountedPointer<Config> fallback_config_ + quiche::QuicheReferenceCountedPointer<Config> fallback_config_ QUIC_GUARDED_BY(configs_lock_); // next_config_promotion_time_ contains the nearest, future time when an @@ -939,14 +946,14 @@ }; struct QUIC_EXPORT_PRIVATE QuicSignedServerConfig - : public QuicReferenceCounted { + : public quiche::QuicheReferenceCounted { QuicSignedServerConfig(); QuicCryptoProof proof; - QuicReferenceCountedPointer<ProofSource::Chain> chain; + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain; // The server config that is used for this proof (and the rest of the // request). - QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> config; + quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> config; std::string primary_scid; protected:
diff --git a/quic/core/crypto/quic_crypto_server_config_test.cc b/quic/core/crypto/quic_crypto_server_config_test.cc index 8e97705..720da63 100644 --- a/quic/core/crypto/quic_crypto_server_config_test.cc +++ b/quic/core/crypto/quic_crypto_server_config_test.cc
@@ -71,7 +71,7 @@ QuicCryptoServerConfigPeer peer(&server); std::vector<std::string> certs = {"testcert"}; - QuicReferenceCountedPointer<ProofSource::Chain> chain( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain( new ProofSource::Chain(certs)); std::string compressed = QuicCryptoServerConfigPeer::CompressChain( @@ -92,7 +92,7 @@ // Compress the certs for the first time. std::vector<std::string> certs = {"testcert"}; - QuicReferenceCountedPointer<ProofSource::Chain> chain( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain( new ProofSource::Chain(certs)); std::string cached_certs = ""; @@ -120,7 +120,7 @@ QuicCryptoServerConfigPeer peer(&server); std::vector<std::string> certs = {"testcert"}; - QuicReferenceCountedPointer<ProofSource::Chain> chain( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain( new ProofSource::Chain(certs)); std::string cached_certs = ""; @@ -129,7 +129,7 @@ EXPECT_EQ(compressed_certs_cache.Size(), 1u); // Compress a similar certs which only differs in the chain. - QuicReferenceCountedPointer<ProofSource::Chain> chain2( + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain2( new ProofSource::Chain(certs)); std::string compressed2 = QuicCryptoServerConfigPeer::CompressChain( @@ -456,7 +456,7 @@ class ValidateCallback : public ValidateClientHelloResultCallback { public: - void Run(QuicReferenceCountedPointer<Result> /*result*/, + void Run(quiche::QuicheReferenceCountedPointer<Result> /*result*/, std::unique_ptr<ProofSource::Details> /*details*/) override {} }; @@ -477,7 +477,7 @@ } ASSERT_NE(transport_version, QUIC_VERSION_UNSUPPORTED); MockClock clock; - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config( + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config( new QuicSignedServerConfig); std::unique_ptr<ValidateClientHelloResultCallback> done_cb( new ValidateCallback);
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc index c778faa..182ef18 100644 --- a/quic/core/http/end_to_end_test.cc +++ b/quic/core/http/end_to_end_test.cc
@@ -3946,7 +3946,7 @@ const int expected_bytes_acked = header_size + request_string.length(); // The TestAckListener will cause a failure if not notified. - QuicReferenceCountedPointer<TestAckListener> ack_listener( + quiche::QuicheReferenceCountedPointer<TestAckListener> ack_listener( new TestAckListener()); // Send the request, and register the delegate for ACKs.
diff --git a/quic/core/http/quic_headers_stream.cc b/quic/core/http/quic_headers_stream.cc index 2b9f485..1a8d0dd 100644 --- a/quic/core/http/quic_headers_stream.cc +++ b/quic/core/http/quic_headers_stream.cc
@@ -13,9 +13,9 @@ namespace quic { QuicHeadersStream::CompressedHeaderInfo::CompressedHeaderInfo( - QuicStreamOffset headers_stream_offset, - QuicStreamOffset full_length, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) + QuicStreamOffset headers_stream_offset, QuicStreamOffset full_length, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) : headers_stream_offset(headers_stream_offset), full_length(full_length), unacked_length(full_length), @@ -138,9 +138,9 @@ } void QuicHeadersStream::OnDataBuffered( - QuicStreamOffset offset, - QuicByteCount data_length, - const QuicReferenceCountedPointer<QuicAckListenerInterface>& ack_listener) { + QuicStreamOffset offset, QuicByteCount data_length, + const quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface>& + ack_listener) { // Populate unacked_headers_. if (!unacked_headers_.empty() && (offset == unacked_headers_.back().headers_stream_offset +
diff --git a/quic/core/http/quic_headers_stream.h b/quic/core/http/quic_headers_stream.h index 153575b..3e541ec 100644 --- a/quic/core/http/quic_headers_stream.h +++ b/quic/core/http/quic_headers_stream.h
@@ -59,9 +59,9 @@ // offset in headers stream, unacked length and ack listener of this header. struct QUIC_EXPORT_PRIVATE CompressedHeaderInfo { CompressedHeaderInfo( - QuicStreamOffset headers_stream_offset, - QuicStreamOffset full_length, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + QuicStreamOffset headers_stream_offset, QuicStreamOffset full_length, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); CompressedHeaderInfo(const CompressedHeaderInfo& other); ~CompressedHeaderInfo(); @@ -73,7 +73,8 @@ QuicByteCount unacked_length; // Ack listener of this header, and it is notified once any of the bytes has // been acked or retransmitted. - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener; + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener; }; // Returns true if the session is still connected. @@ -83,10 +84,9 @@ // ack_listener is notified once data within [offset, offset + length] is // acked or retransmitted. void OnDataBuffered( - QuicStreamOffset offset, - QuicByteCount data_length, - const QuicReferenceCountedPointer<QuicAckListenerInterface>& ack_listener) - override; + QuicStreamOffset offset, QuicByteCount data_length, + const quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface>& + ack_listener) override; QuicSpdySession* spdy_session_;
diff --git a/quic/core/http/quic_headers_stream_test.cc b/quic/core/http/quic_headers_stream_test.cc index 3a44f79..d4d8e2f 100644 --- a/quic/core/http/quic_headers_stream_test.cc +++ b/quic/core/http/quic_headers_stream_test.cc
@@ -760,11 +760,11 @@ _, _, NO_FIN, _, _)) .WillRepeatedly(Invoke(&session_, &MockQuicSpdySession::ConsumeData)); InSequence s; - QuicReferenceCountedPointer<MockAckListener> ack_listener1( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener1( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener2( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener2( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener3( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener3( new MockAckListener()); // Packet 1. @@ -829,11 +829,11 @@ _, _, NO_FIN, _, _)) .WillRepeatedly(Invoke(&session_, &MockQuicSpdySession::ConsumeData)); InSequence s; - QuicReferenceCountedPointer<MockAckListener> ack_listener1( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener1( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener2( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener2( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener3( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener3( new MockAckListener()); headers_stream_->WriteOrBufferData("Header5", false, ack_listener1); @@ -879,11 +879,11 @@ _, _, NO_FIN, _, _)) .WillRepeatedly(Invoke(&session_, &MockQuicSpdySession::ConsumeData)); InSequence s; - QuicReferenceCountedPointer<MockAckListener> ack_listener1( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener1( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener2( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener2( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener3( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener3( new MockAckListener()); // Send [0, 42).
diff --git a/quic/core/http/quic_server_initiated_spdy_stream.cc b/quic/core/http/quic_server_initiated_spdy_stream.cc index 37a5389..2a227a7 100644 --- a/quic/core/http/quic_server_initiated_spdy_stream.cc +++ b/quic/core/http/quic_server_initiated_spdy_stream.cc
@@ -16,9 +16,9 @@ } size_t QuicServerInitiatedSpdyStream::WriteHeaders( - spdy::SpdyHeaderBlock /*header_block*/, - bool /*fin*/, - QuicReferenceCountedPointer<QuicAckListenerInterface> /*ack_listener*/) { + spdy::SpdyHeaderBlock /*header_block*/, bool /*fin*/, + quiche::QuicheReferenceCountedPointer< + QuicAckListenerInterface> /*ack_listener*/) { QUIC_BUG(Writing headers in QuicServerInitiatedSpdyStream) << "Attempting to write headers in QuicServerInitiatedSpdyStream"; OnUnrecoverableError(QUIC_INTERNAL_ERROR,
diff --git a/quic/core/http/quic_server_initiated_spdy_stream.h b/quic/core/http/quic_server_initiated_spdy_stream.h index a13dc65..889f216 100644 --- a/quic/core/http/quic_server_initiated_spdy_stream.h +++ b/quic/core/http/quic_server_initiated_spdy_stream.h
@@ -18,10 +18,10 @@ using QuicSpdyStream::QuicSpdyStream; void OnBodyAvailable() override; - size_t WriteHeaders(spdy::SpdyHeaderBlock header_block, - bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> - ack_listener) override; + size_t WriteHeaders( + spdy::SpdyHeaderBlock header_block, bool fin, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) override; void OnInitialHeadersComplete(bool fin, size_t frame_len, const QuicHeaderList& header_list) override;
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc index 095efdd..4407198 100644 --- a/quic/core/http/quic_spdy_session.cc +++ b/quic/core/http/quic_spdy_session.cc
@@ -676,7 +676,8 @@ size_t QuicSpdySession::WriteHeadersOnHeadersStream( QuicStreamId id, SpdyHeaderBlock headers, bool fin, const spdy::SpdyStreamPrecedence& precedence, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { QUICHE_DCHECK(!VersionUsesHttp3(transport_version())); return WriteHeadersOnHeadersStreamImpl( @@ -905,7 +906,8 @@ size_t QuicSpdySession::WriteHeadersOnHeadersStreamImpl( QuicStreamId id, spdy::SpdyHeaderBlock headers, bool fin, QuicStreamId parent_stream_id, int weight, bool exclusive, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { QUICHE_DCHECK(!VersionUsesHttp3(transport_version())); const QuicByteCount uncompressed_size = headers.TotalBytesUsed();
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h index 569ab77..50264a1 100644 --- a/quic/core/http/quic_spdy_session.h +++ b/quic/core/http/quic_spdy_session.h
@@ -204,7 +204,8 @@ virtual size_t WriteHeadersOnHeadersStream( QuicStreamId id, spdy::SpdyHeaderBlock headers, bool fin, const spdy::SpdyStreamPrecedence& precedence, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // Writes an HTTP/2 PRIORITY frame the to peer. Returns the size in bytes of // the resulting PRIORITY frame. @@ -506,7 +507,8 @@ size_t WriteHeadersOnHeadersStreamImpl( QuicStreamId id, spdy::SpdyHeaderBlock headers, bool fin, QuicStreamId parent_stream_id, int weight, bool exclusive, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); void OnNewEncryptionKeyAvailable( EncryptionLevel level, std::unique_ptr<QuicEncrypter> encrypter) override;
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc index a629827..fee5ea4 100644 --- a/quic/core/http/quic_spdy_session_test.cc +++ b/quic/core/http/quic_spdy_session_test.cc
@@ -208,7 +208,7 @@ bool encryption_established_; bool one_rtt_keys_available_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; }; class TestHeadersStream : public QuicHeadersStream {
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc index adeb224..e7080a3 100644 --- a/quic/core/http/quic_spdy_stream.cc +++ b/quic/core/http/quic_spdy_stream.cc
@@ -262,7 +262,8 @@ size_t QuicSpdyStream::WriteHeaders( SpdyHeaderBlock header_block, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { if (!AssertNotWebTransportDataStream("writing headers")) { return 0; } @@ -349,7 +350,8 @@ size_t QuicSpdyStream::WriteTrailers( SpdyHeaderBlock trailer_block, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { if (fin_sent()) { QUIC_BUG(quic_bug_10410_1) << "Trailers cannot be sent after a FIN, on stream " << id(); @@ -1204,7 +1206,8 @@ size_t QuicSpdyStream::WriteHeadersImpl( spdy::SpdyHeaderBlock header_block, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { if (!VersionUsesHttp3(transport_version())) { return spdy_session_->WriteHeadersOnHeadersStream( id(), std::move(header_block), fin, precedence(),
diff --git a/quic/core/http/quic_spdy_stream.h b/quic/core/http/quic_spdy_stream.h index 1df1485..5a77d6f 100644 --- a/quic/core/http/quic_spdy_stream.h +++ b/quic/core/http/quic_spdy_stream.h
@@ -125,7 +125,8 @@ // QPACK. virtual size_t WriteHeaders( spdy::SpdyHeaderBlock header_block, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // Sends |data| to the peer, or buffers if it can't be sent immediately. void WriteOrBufferBody(absl::string_view data, bool fin); @@ -136,7 +137,8 @@ // data sent on the encoder stream when using QPACK. virtual size_t WriteTrailers( spdy::SpdyHeaderBlock trailer_block, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // Override to report newly acked bytes via ack_listener_. bool OnStreamFrameAcked(QuicStreamOffset offset, QuicByteCount data_length, @@ -361,14 +363,16 @@ const QuicHeaderList& header_list); virtual size_t WriteHeadersImpl( spdy::SpdyHeaderBlock header_block, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); Visitor* visitor() { return visitor_; } void set_headers_decompressed(bool val) { headers_decompressed_ = val; } void set_ack_listener( - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { ack_listener_ = std::move(ack_listener); } @@ -504,7 +508,7 @@ // Ack listener of this stream, and it is notified when any of written bytes // are acked or retransmitted. - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener_; + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> ack_listener_; // Offset of unacked frame headers. QuicIntervalSet<QuicStreamOffset> unacked_frame_headers_offsets_;
diff --git a/quic/core/http/quic_spdy_stream_test.cc b/quic/core/http/quic_spdy_stream_test.cc index bf4dc45..88f049f 100644 --- a/quic/core/http/quic_spdy_stream_test.cc +++ b/quic/core/http/quic_spdy_stream_test.cc
@@ -192,7 +192,7 @@ bool encryption_established_; bool one_rtt_keys_available_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; }; class TestStream : public QuicSpdyStream { @@ -222,9 +222,10 @@ MOCK_METHOD(void, WriteHeadersMock, (bool fin), ()); - size_t WriteHeadersImpl(spdy::SpdyHeaderBlock header_block, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> - /*ack_listener*/) override { + size_t WriteHeadersImpl( + spdy::SpdyHeaderBlock header_block, bool fin, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + /*ack_listener*/) override { saved_headers_ = std::move(header_block); WriteHeadersMock(fin); if (VersionUsesHttp3(transport_version())) { @@ -1721,9 +1722,9 @@ Initialize(kShouldProcessData); EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)).Times(AtLeast(1)); testing::InSequence s; - QuicReferenceCountedPointer<MockAckListener> ack_listener1( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener1( new MockAckListener()); - QuicReferenceCountedPointer<MockAckListener> ack_listener2( + quiche::QuicheReferenceCountedPointer<MockAckListener> ack_listener2( new MockAckListener()); stream_->set_ack_listener(ack_listener1); stream2_->set_ack_listener(ack_listener2); @@ -1811,7 +1812,7 @@ TEST_P(QuicSpdyStreamTest, StreamWaitsForAcks) { Initialize(kShouldProcessData); - QuicReferenceCountedPointer<MockAckListener> mock_ack_listener( + quiche::QuicheReferenceCountedPointer<MockAckListener> mock_ack_listener( new StrictMock<MockAckListener>); stream_->set_ack_listener(mock_ack_listener); EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)).Times(AtLeast(1)); @@ -1865,7 +1866,7 @@ TEST_P(QuicSpdyStreamTest, StreamDataGetAckedMultipleTimes) { Initialize(kShouldProcessData); - QuicReferenceCountedPointer<MockAckListener> mock_ack_listener( + quiche::QuicheReferenceCountedPointer<MockAckListener> mock_ack_listener( new StrictMock<MockAckListener>); stream_->set_ack_listener(mock_ack_listener); EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)).Times(AtLeast(1)); @@ -1930,7 +1931,7 @@ } Initialize(kShouldProcessData); - QuicReferenceCountedPointer<MockAckListener> mock_ack_listener( + quiche::QuicheReferenceCountedPointer<MockAckListener> mock_ack_listener( new StrictMock<MockAckListener>); stream_->set_ack_listener(mock_ack_listener); std::string body = "Test1"; @@ -1974,7 +1975,7 @@ } Initialize(kShouldProcessData); - QuicReferenceCountedPointer<MockAckListener> mock_ack_listener( + quiche::QuicheReferenceCountedPointer<MockAckListener> mock_ack_listener( new StrictMock<MockAckListener>); stream_->set_ack_listener(mock_ack_listener); std::string body1 = "Test1"; @@ -2009,7 +2010,7 @@ } Initialize(kShouldProcessData); - QuicReferenceCountedPointer<MockAckListener> mock_ack_listener( + quiche::QuicheReferenceCountedPointer<MockAckListener> mock_ack_listener( new StrictMock<MockAckListener>); stream_->set_ack_listener(mock_ack_listener); std::string body1 = "Test1";
diff --git a/quic/core/quic_ack_listener_interface.h b/quic/core/quic_ack_listener_interface.h index abfb217..7592e0f 100644 --- a/quic/core/quic_ack_listener_interface.h +++ b/quic/core/quic_ack_listener_interface.h
@@ -8,13 +8,13 @@ #include "quic/core/quic_time.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_export.h" -#include "quic/platform/api/quic_reference_counted.h" +#include "common/platform/api/quiche_reference_counted.h" namespace quic { // Pure virtual class to listen for packet acknowledgements. class QUIC_EXPORT_PRIVATE QuicAckListenerInterface - : public QuicReferenceCounted { + : public quiche::QuicheReferenceCounted { public: QuicAckListenerInterface() {}
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc index 6c6e84b..db7ae69 100644 --- a/quic/core/quic_connection_test.cc +++ b/quic/core/quic_connection_test.cc
@@ -38,7 +38,6 @@ #include "quic/platform/api/quic_flags.h" #include "quic/platform/api/quic_ip_address.h" #include "quic/platform/api/quic_logging.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_socket_address.h" #include "quic/platform/api/quic_test.h" #include "quic/test_tools/mock_clock.h" @@ -52,6 +51,7 @@ #include "quic/test_tools/quic_test_utils.h" #include "quic/test_tools/simple_data_producer.h" #include "quic/test_tools/simple_session_notifier.h" +#include "common/platform/api/quiche_reference_counted.h" #include "common/simple_buffer_allocator.h" using testing::_;
diff --git a/quic/core/quic_crypto_client_handshaker.h b/quic/core/quic_crypto_client_handshaker.h index c0c94b9..b458ee4 100644 --- a/quic/core/quic_crypto_client_handshaker.h +++ b/quic/core/quic_crypto_client_handshaker.h
@@ -202,7 +202,7 @@ bool encryption_established_; bool one_rtt_keys_available_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> crypto_negotiated_params_; };
diff --git a/quic/core/quic_crypto_client_handshaker_test.cc b/quic/core/quic_crypto_client_handshaker_test.cc index 120e5da..bb1e40f 100644 --- a/quic/core/quic_crypto_client_handshaker_test.cc +++ b/quic/core/quic_crypto_client_handshaker_test.cc
@@ -78,8 +78,9 @@ absl::string_view /*chlo_hash*/, std::unique_ptr<Callback> callback) override { bool cert_matched_sni; - QuicReferenceCountedPointer<ProofSource::Chain> chain = GetCertChain( - server_address, client_address, hostname, &cert_matched_sni); + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain = + GetCertChain(server_address, client_address, hostname, + &cert_matched_sni); QuicCryptoProof proof; proof.signature = "Dummy signature"; proof.leaf_cert_scts = "Dummy timestamp"; @@ -87,13 +88,13 @@ callback->Run(true, chain, proof, /*details=*/nullptr); } - QuicReferenceCountedPointer<Chain> GetCertChain( + quiche::QuicheReferenceCountedPointer<Chain> GetCertChain( const QuicSocketAddress& /*server_address*/, const QuicSocketAddress& /*client_address*/, const std::string& /*hostname*/, bool* /*cert_matched_sni*/) override { std::vector<std::string> certs; certs.push_back("Dummy cert"); - return QuicReferenceCountedPointer<ProofSource::Chain>( + return quiche::QuicheReferenceCountedPointer<ProofSource::Chain>( new ProofSource::Chain(certs)); }
diff --git a/quic/core/quic_crypto_server_stream.cc b/quic/core/quic_crypto_server_stream.cc index 6bac704..3612c77 100644 --- a/quic/core/quic_crypto_server_stream.cc +++ b/quic/core/quic_crypto_server_stream.cc
@@ -21,7 +21,7 @@ public: ProcessClientHelloCallback( QuicCryptoServerStream* parent, - const QuicReferenceCountedPointer< + const quiche::QuicheReferenceCountedPointer< ValidateClientHelloResultCallback::Result>& result) : parent_(parent), result_(result) {} @@ -44,7 +44,8 @@ private: QuicCryptoServerStream* parent_; - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result_; }; @@ -137,7 +138,8 @@ } void QuicCryptoServerStream::FinishProcessingHandshakeMessage( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result, std::unique_ptr<ProofSource::Details> details) { // Clear the callback that got us here. @@ -456,7 +458,8 @@ } void QuicCryptoServerStream::ProcessClientHello( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result, std::unique_ptr<ProofSource::Details> proof_source_details, std::unique_ptr<ProcessClientHelloResultCallback> done_cb) { @@ -518,7 +521,7 @@ } void QuicCryptoServerStream::ValidateCallback::Run( - QuicReferenceCountedPointer<Result> result, + quiche::QuicheReferenceCountedPointer<Result> result, std::unique_ptr<ProofSource::Details> details) { if (parent_ != nullptr) { parent_->FinishProcessingHandshakeMessage(std::move(result),
diff --git a/quic/core/quic_crypto_server_stream.h b/quic/core/quic_crypto_server_stream.h index acb8ae2..d26b751 100644 --- a/quic/core/quic_crypto_server_stream.h +++ b/quic/core/quic_crypto_server_stream.h
@@ -92,7 +92,8 @@ QuicCryptoServerStreamBase::Helper* helper); virtual void ProcessClientHello( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result, std::unique_ptr<ProofSource::Details> proof_source_details, std::unique_ptr<ProcessClientHelloResultCallback> done_cb); @@ -128,7 +129,7 @@ void Cancel(); // From ValidateClientHelloResultCallback - void Run(QuicReferenceCountedPointer<Result> result, + void Run(quiche::QuicheReferenceCountedPointer<Result> result, std::unique_ptr<ProofSource::Details> details) override; private: @@ -157,7 +158,8 @@ // the client hello is complete. Finishes processing of the client // hello message and handles handshake success/failure. void FinishProcessingHandshakeMessage( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result, std::unique_ptr<ProofSource::Details> details); @@ -198,7 +200,7 @@ // Server's certificate chain and signature of the server config, as provided // by ProofSource::GetProof. - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config_; + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config_; // Hash of the last received CHLO message which can be used for generating // server config update messages. @@ -256,7 +258,7 @@ bool encryption_established_; bool one_rtt_keys_available_; bool one_rtt_packet_decrypted_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> crypto_negotiated_params_; };
diff --git a/quic/core/quic_crypto_stream_test.cc b/quic/core/quic_crypto_stream_test.cc index f8828be..fffcb09 100644 --- a/quic/core/quic_crypto_stream_test.cc +++ b/quic/core/quic_crypto_stream_test.cc
@@ -96,7 +96,7 @@ SSL* GetSsl() const override { return nullptr; } private: - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; std::vector<CryptoHandshakeMessage> messages_; };
diff --git a/quic/core/quic_datagram_queue_test.cc b/quic/core/quic_datagram_queue_test.cc index 295e72a..4c0e0f2 100644 --- a/quic/core/quic_datagram_queue_test.cc +++ b/quic/core/quic_datagram_queue_test.cc
@@ -11,10 +11,10 @@ #include "quic/core/crypto/null_encrypter.h" #include "quic/core/quic_time.h" #include "quic/core/quic_types.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_test.h" #include "quic/test_tools/quic_test_utils.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/platform/api/quiche_reference_counted.h" #include "common/quiche_buffer_allocator.h" namespace quic { @@ -35,7 +35,7 @@ class QuicDatagramQueueObserver final : public QuicDatagramQueue::Observer { public: - class Context : public QuicReferenceCounted { + class Context : public quiche::QuicheReferenceCounted { public: std::vector<absl::optional<MessageStatus>> statuses; }; @@ -49,10 +49,12 @@ context_->statuses.push_back(std::move(status)); } - const QuicReferenceCountedPointer<Context>& context() { return context_; } + const quiche::QuicheReferenceCountedPointer<Context>& context() { + return context_; + } private: - QuicReferenceCountedPointer<Context> context_; + quiche::QuicheReferenceCountedPointer<Context> context_; }; class QuicDatagramQueueTestBase : public QuicTest { @@ -209,7 +211,8 @@ // This is moved out immediately. std::unique_ptr<QuicDatagramQueueObserver> observer_; - QuicReferenceCountedPointer<QuicDatagramQueueObserver::Context> context_; + quiche::QuicheReferenceCountedPointer<QuicDatagramQueueObserver::Context> + context_; QuicDatagramQueue queue_; };
diff --git a/quic/core/quic_dispatcher.h b/quic/core/quic_dispatcher.h index f22d58a..72ea5cd 100644 --- a/quic/core/quic_dispatcher.h +++ b/quic/core/quic_dispatcher.h
@@ -27,8 +27,8 @@ #include "quic/core/quic_session.h" #include "quic/core/quic_time_wait_list_manager.h" #include "quic/core/quic_version_manager.h" -#include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_socket_address.h" +#include "common/platform/api/quiche_reference_counted.h" #include "common/quiche_linked_hash_map.h" namespace quic {
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc index 4d5eed5..5abc651 100644 --- a/quic/core/quic_session_test.cc +++ b/quic/core/quic_session_test.cc
@@ -190,7 +190,7 @@ bool encryption_established_; bool one_rtt_keys_available_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; }; class TestStream : public QuicStream {
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc index 8737044..a1d482a 100644 --- a/quic/core/quic_stream.cc +++ b/quic/core/quic_stream.cc
@@ -649,7 +649,8 @@ void QuicStream::WriteOrBufferData( absl::string_view data, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { QUIC_BUG_IF(quic_bug_12570_4, QuicUtils::IsCryptoStreamId(transport_version(), id_)) << ENDPOINT @@ -662,7 +663,8 @@ void QuicStream::WriteOrBufferDataAtLevel( absl::string_view data, bool fin, EncryptionLevel level, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { if (data.empty() && !fin) { QUIC_BUG(quic_bug_10586_2) << "data.empty() && !fin"; return;
diff --git a/quic/core/quic_stream.h b/quic/core/quic_stream.h index 4a6acca..0547e74 100644 --- a/quic/core/quic_stream.h +++ b/quic/core/quic_stream.h
@@ -35,8 +35,8 @@ #include "quic/core/session_notifier_interface.h" #include "quic/core/stream_delegate_interface.h" #include "quic/platform/api/quic_export.h" -#include "quic/platform/api/quic_reference_counted.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/platform/api/quiche_reference_counted.h" #include "spdy/core/spdy_protocol.h" namespace quic { @@ -316,12 +316,14 @@ // true. void WriteOrBufferData( absl::string_view data, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // Sends |data| to connection with specified |level|. void WriteOrBufferDataAtLevel( absl::string_view data, bool fin, EncryptionLevel level, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // Adds random padding after the fin is consumed for this stream. void AddRandomPaddingAfterFin(); @@ -409,7 +411,7 @@ // buffer. virtual void OnDataBuffered( QuicStreamOffset /*offset*/, QuicByteCount /*data_length*/, - const QuicReferenceCountedPointer<QuicAckListenerInterface>& + const quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface>& /*ack_listener*/) {} // Called just before the object is destroyed.
diff --git a/quic/core/tls_client_handshaker.h b/quic/core/tls_client_handshaker.h index c7db0ed..c9a760e 100644 --- a/quic/core/tls_client_handshaker.h +++ b/quic/core/tls_client_handshaker.h
@@ -149,7 +149,7 @@ HandshakeState state_ = HANDSHAKE_START; bool encryption_established_ = false; bool initial_keys_dropped_ = false; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> crypto_negotiated_params_; bool allow_empty_alpn_for_tests_ = false;
diff --git a/quic/core/tls_server_handshaker.cc b/quic/core/tls_server_handshaker.cc index dc4b39a..f622d56 100644 --- a/quic/core/tls_server_handshaker.cc +++ b/quic/core/tls_server_handshaker.cc
@@ -78,7 +78,7 @@ } bool cert_matched_sni; - QuicReferenceCountedPointer<ProofSource::Chain> chain = + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain = proof_source_->GetCertChain(server_address, client_address, hostname, &cert_matched_sni);
diff --git a/quic/core/tls_server_handshaker.h b/quic/core/tls_server_handshaker.h index c2ea44b..b5764a5 100644 --- a/quic/core/tls_server_handshaker.h +++ b/quic/core/tls_server_handshaker.h
@@ -374,7 +374,7 @@ bool encryption_established_ = false; bool valid_alpn_received_ = false; bool can_disable_resumption_ = true; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> crypto_negotiated_params_; TlsServerConnection tls_connection_; const QuicCryptoServerConfig* crypto_config_; // Unowned.
diff --git a/quic/core/tls_server_handshaker_test.cc b/quic/core/tls_server_handshaker_test.cc index 01fb7ab..0d46ef8 100644 --- a/quic/core/tls_server_handshaker_test.cc +++ b/quic/core/tls_server_handshaker_test.cc
@@ -402,8 +402,8 @@ std::string der_cert = CreateSelfSignedCertificate(*client_cert_key.private_key(), options); - QuicReferenceCountedPointer<ClientProofSource::Chain> client_cert_chain( - new ClientProofSource::Chain({der_cert})); + quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain> + client_cert_chain(new ClientProofSource::Chain({der_cert})); if (!client_proof_source->AddCertAndKey({"*"}, client_cert_chain, std::move(client_cert_key))) {
diff --git a/quic/platform/api/quic_reference_counted.h b/quic/platform/api/quic_reference_counted.h deleted file mode 100644 index 18f6f37..0000000 --- a/quic/platform/api/quic_reference_counted.h +++ /dev/null
@@ -1,162 +0,0 @@ -// Copyright (c) 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef QUICHE_QUIC_PLATFORM_API_QUIC_REFERENCE_COUNTED_H_ -#define QUICHE_QUIC_PLATFORM_API_QUIC_REFERENCE_COUNTED_H_ - -#include "net/quic/platform/impl/quic_reference_counted_impl.h" - -namespace quic { - -// Base class for explicitly reference-counted objects in QUIC. -class QUIC_EXPORT_PRIVATE QuicReferenceCounted - : public QuicReferenceCountedImpl { - public: - QuicReferenceCounted() {} - - protected: - ~QuicReferenceCounted() override {} -}; - -// A class representing a reference counted pointer in QUIC. -// -// Construct or initialize QuicReferenceCountedPointer from raw pointer. Here -// raw pointer MUST be a newly created object. Reference count of a newly -// created object is undefined, but that will be 1 after being added to -// QuicReferenceCountedPointer. -// QuicReferenceCountedPointer is used as a local variable. -// QuicReferenceCountedPointer<T> r_ptr(new T()); -// or, equivalently: -// QuicReferenceCountedPointer<T> r_ptr; -// T* p = new T(); -// r_ptr = T; -// -// QuicReferenceCountedPointer is used as a member variable: -// MyClass::MyClass() : r_ptr(new T()) {} -// -// This is WRONG, since *p is not guaranteed to be newly created: -// MyClass::MyClass(T* p) : r_ptr(p) {} -// -// Given an existing QuicReferenceCountedPointer, create a duplicate that has -// its own reference on the object: -// QuicReferenceCountedPointer<T> r_ptr_b(r_ptr_a); -// or, equivalently: -// QuicReferenceCountedPointer<T> r_ptr_b = r_ptr_a; -// -// Given an existing QuicReferenceCountedPointer, create a -// QuicReferenceCountedPointer that adopts the reference: -// QuicReferenceCountedPointer<T> r_ptr_b(std::move(r_ptr_a)); -// or, equivalently: -// QuicReferenceCountedPointer<T> r_ptr_b = std::move(r_ptr_a); - -template <class T> -class QUIC_NO_EXPORT QuicReferenceCountedPointer { - public: - QuicReferenceCountedPointer() = default; - - // Constructor from raw pointer |p|. This guarantees that the reference count - // of *p is 1. This should be only called when a new object is created. - // Calling this on an already existent object does not increase its reference - // count. - explicit QuicReferenceCountedPointer(T* p) : impl_(p) {} - - // Allows implicit conversion from nullptr. - QuicReferenceCountedPointer(std::nullptr_t) : impl_(nullptr) {} // NOLINT - - // Copy and copy conversion constructors. It does not take the reference away - // from |other| and they each end up with their own reference. - template <typename U> - QuicReferenceCountedPointer( // NOLINT - const QuicReferenceCountedPointer<U>& other) - : impl_(other.impl()) {} - QuicReferenceCountedPointer(const QuicReferenceCountedPointer& other) - : impl_(other.impl()) {} - - // Move constructors. After move, it adopts the reference from |other|. - template <typename U> - QuicReferenceCountedPointer(QuicReferenceCountedPointer<U>&& other) // NOLINT - : impl_(std::move(other.impl())) {} - QuicReferenceCountedPointer(QuicReferenceCountedPointer&& other) - : impl_(std::move(other.impl())) {} - - ~QuicReferenceCountedPointer() = default; - - // Copy assignments. - QuicReferenceCountedPointer& operator=( - const QuicReferenceCountedPointer& other) { - impl_ = other.impl(); - return *this; - } - template <typename U> - QuicReferenceCountedPointer<T>& operator=( - const QuicReferenceCountedPointer<U>& other) { - impl_ = other.impl(); - return *this; - } - - // Move assignments. - QuicReferenceCountedPointer& operator=(QuicReferenceCountedPointer&& other) { - impl_ = std::move(other.impl()); - return *this; - } - template <typename U> - QuicReferenceCountedPointer<T>& operator=( - QuicReferenceCountedPointer<U>&& other) { - impl_ = std::move(other.impl()); - return *this; - } - - // Accessors for the referenced object. - // operator*() and operator->() will assert() if there is no current object. - T& operator*() const { return *impl_; } - T* operator->() const { return impl_.get(); } - - explicit operator bool() const { return static_cast<bool>(impl_); } - - // Assignment operator on raw pointer. Drops a reference to current pointee, - // if any, and replaces it with |p|. This guarantees that the reference count - // of *p is 1. This should only be used when a new object is created. Calling - // this on an already existent object is undefined behavior. - QuicReferenceCountedPointer<T>& operator=(T* p) { - impl_ = p; - return *this; - } - - // Returns the raw pointer with no change in reference count. - T* get() const { return impl_.get(); } - - QuicReferenceCountedPointerImpl<T>& impl() { return impl_; } - const QuicReferenceCountedPointerImpl<T>& impl() const { return impl_; } - - // Comparisons against same type. - friend bool operator==(const QuicReferenceCountedPointer& a, - const QuicReferenceCountedPointer& b) { - return a.get() == b.get(); - } - friend bool operator!=(const QuicReferenceCountedPointer& a, - const QuicReferenceCountedPointer& b) { - return a.get() != b.get(); - } - - // Comparisons against nullptr. - friend bool operator==(const QuicReferenceCountedPointer& a, std::nullptr_t) { - return a.get() == nullptr; - } - friend bool operator==(std::nullptr_t, const QuicReferenceCountedPointer& b) { - return nullptr == b.get(); - } - friend bool operator!=(const QuicReferenceCountedPointer& a, std::nullptr_t) { - return a.get() != nullptr; - } - friend bool operator!=(std::nullptr_t, const QuicReferenceCountedPointer& b) { - return nullptr != b.get(); - } - - private: - QuicReferenceCountedPointerImpl<T> impl_; -}; - -} // namespace quic - -#endif // QUICHE_QUIC_PLATFORM_API_QUIC_REFERENCE_COUNTED_H_
diff --git a/quic/platform/api/quic_reference_counted_test.cc b/quic/platform/api/quic_reference_counted_test.cc deleted file mode 100644 index e2ea981..0000000 --- a/quic/platform/api/quic_reference_counted_test.cc +++ /dev/null
@@ -1,173 +0,0 @@ -// Copyright (c) 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "quic/platform/api/quic_reference_counted.h" - -#include "quic/platform/api/quic_test.h" - -namespace quic { -namespace test { -namespace { - -class Base : public QuicReferenceCounted { - public: - explicit Base(bool* destroyed) : destroyed_(destroyed) { - *destroyed_ = false; - } - - protected: - ~Base() override { *destroyed_ = true; } - - private: - bool* destroyed_; -}; - -class Derived : public Base { - public: - explicit Derived(bool* destroyed) : Base(destroyed) {} - - private: - ~Derived() override {} -}; - -class QuicReferenceCountedTest : public QuicTest {}; - -TEST_F(QuicReferenceCountedTest, DefaultConstructor) { - QuicReferenceCountedPointer<Base> a; - EXPECT_EQ(nullptr, a); - EXPECT_EQ(nullptr, a.get()); - EXPECT_FALSE(a); -} - -TEST_F(QuicReferenceCountedTest, ConstructFromRawPointer) { - bool destroyed = false; - { - QuicReferenceCountedPointer<Base> a(new Base(&destroyed)); - EXPECT_FALSE(destroyed); - } - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, RawPointerAssignment) { - bool destroyed = false; - { - QuicReferenceCountedPointer<Base> a; - Base* rct = new Base(&destroyed); - a = rct; - EXPECT_FALSE(destroyed); - } - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerCopy) { - bool destroyed = false; - { - QuicReferenceCountedPointer<Base> a(new Base(&destroyed)); - { - QuicReferenceCountedPointer<Base> b(a); - EXPECT_EQ(a, b); - EXPECT_FALSE(destroyed); - } - EXPECT_FALSE(destroyed); - } - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerCopyAssignment) { - bool destroyed = false; - { - QuicReferenceCountedPointer<Base> a(new Base(&destroyed)); - { - QuicReferenceCountedPointer<Base> b = a; - EXPECT_EQ(a, b); - EXPECT_FALSE(destroyed); - } - EXPECT_FALSE(destroyed); - } - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerCopyFromOtherType) { - bool destroyed = false; - { - QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); - { - QuicReferenceCountedPointer<Base> b(a); - EXPECT_EQ(a.get(), b.get()); - EXPECT_FALSE(destroyed); - } - EXPECT_FALSE(destroyed); - } - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerCopyAssignmentFromOtherType) { - bool destroyed = false; - { - QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); - { - QuicReferenceCountedPointer<Base> b = a; - EXPECT_EQ(a.get(), b.get()); - EXPECT_FALSE(destroyed); - } - EXPECT_FALSE(destroyed); - } - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerMove) { - bool destroyed = false; - QuicReferenceCountedPointer<Base> a(new Derived(&destroyed)); - EXPECT_FALSE(destroyed); - QuicReferenceCountedPointer<Base> b(std::move(a)); - EXPECT_FALSE(destroyed); - EXPECT_NE(nullptr, b); - EXPECT_EQ(nullptr, a); // NOLINT - - b = nullptr; - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerMoveAssignment) { - bool destroyed = false; - QuicReferenceCountedPointer<Base> a(new Derived(&destroyed)); - EXPECT_FALSE(destroyed); - QuicReferenceCountedPointer<Base> b = std::move(a); - EXPECT_FALSE(destroyed); - EXPECT_NE(nullptr, b); - EXPECT_EQ(nullptr, a); // NOLINT - - b = nullptr; - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerMoveFromOtherType) { - bool destroyed = false; - QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); - EXPECT_FALSE(destroyed); - QuicReferenceCountedPointer<Base> b(std::move(a)); - EXPECT_FALSE(destroyed); - EXPECT_NE(nullptr, b); - EXPECT_EQ(nullptr, a); // NOLINT - - b = nullptr; - EXPECT_TRUE(destroyed); -} - -TEST_F(QuicReferenceCountedTest, PointerMoveAssignmentFromOtherType) { - bool destroyed = false; - QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); - EXPECT_FALSE(destroyed); - QuicReferenceCountedPointer<Base> b = std::move(a); - EXPECT_FALSE(destroyed); - EXPECT_NE(nullptr, b); - EXPECT_EQ(nullptr, a); // NOLINT - - b = nullptr; - EXPECT_TRUE(destroyed); -} - -} // namespace -} // namespace test -} // namespace quic
diff --git a/quic/qbone/qbone_session_test.cc b/quic/qbone/qbone_session_test.cc index c3ae3be..e787174 100644 --- a/quic/qbone/qbone_session_test.cc +++ b/quic/qbone/qbone_session_test.cc
@@ -80,8 +80,9 @@ std::unique_ptr<Callback> callback) override { if (!proof_source_) { QuicCryptoProof proof; - QuicReferenceCountedPointer<ProofSource::Chain> chain = GetCertChain( - server_address, client_address, hostname, &proof.cert_matched_sni); + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain = + GetCertChain(server_address, client_address, hostname, + &proof.cert_matched_sni); callback->Run(/*ok=*/false, chain, proof, /*details=*/nullptr); return; } @@ -90,12 +91,12 @@ std::move(callback)); } - QuicReferenceCountedPointer<Chain> GetCertChain( + quiche::QuicheReferenceCountedPointer<Chain> GetCertChain( const QuicSocketAddress& server_address, const QuicSocketAddress& client_address, const std::string& hostname, bool* cert_matched_sni) override { if (!proof_source_) { - return QuicReferenceCountedPointer<Chain>(); + return quiche::QuicheReferenceCountedPointer<Chain>(); } return proof_source_->GetCertChain(server_address, client_address, hostname, cert_matched_sni);
diff --git a/quic/test_tools/crypto_test_utils.cc b/quic/test_tools/crypto_test_utils.cc index f39d463..30bf0a2 100644 --- a/quic/test_tools/crypto_test_utils.cc +++ b/quic/test_tools/crypto_test_utils.cc
@@ -103,12 +103,11 @@ class FullChloGenerator { public: FullChloGenerator( - QuicCryptoServerConfig* crypto_config, - QuicSocketAddress server_addr, - QuicSocketAddress client_addr, - const QuicClock* clock, + QuicCryptoServerConfig* crypto_config, QuicSocketAddress server_addr, + QuicSocketAddress client_addr, const QuicClock* clock, ParsedQuicVersion version, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config, QuicCompressedCertsCache* compressed_certs_cache, CryptoHandshakeMessage* out) : crypto_config_(crypto_config), @@ -125,8 +124,9 @@ public: explicit ValidateClientHelloCallback(FullChloGenerator* generator) : generator_(generator) {} - void Run(QuicReferenceCountedPointer< - ValidateClientHelloResultCallback::Result> result, + void Run(quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> + result, std::unique_ptr<ProofSource::Details> /* details */) override { generator_->ValidateClientHelloDone(std::move(result)); } @@ -141,9 +141,9 @@ } private: - void ValidateClientHelloDone( - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> - result) { + void ValidateClientHelloDone(quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> + result) { result_ = result; crypto_config_->ProcessClientHello( result_, /*reject_only=*/false, TestConnectionId(1), server_addr_, @@ -205,12 +205,13 @@ QuicSocketAddress client_addr_; const QuicClock* clock_; ParsedQuicVersion version_; - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config_; + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config_; QuicCompressedCertsCache* compressed_certs_cache_; CryptoHandshakeMessage* out_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result_; }; @@ -473,7 +474,7 @@ } uint64_t LeafCertHashForTesting() { - QuicReferenceCountedPointer<ProofSource::Chain> chain; + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain; QuicSocketAddress server_address(QuicIpAddress::Any4(), 42); QuicSocketAddress client_address(QuicIpAddress::Any4(), 43); QuicCryptoProof proof; @@ -481,20 +482,22 @@ class Callback : public ProofSource::Callback { public: - Callback(bool* ok, QuicReferenceCountedPointer<ProofSource::Chain>* chain) + Callback(bool* ok, + quiche::QuicheReferenceCountedPointer<ProofSource::Chain>* chain) : ok_(ok), chain_(chain) {} - void Run(bool ok, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, - const QuicCryptoProof& /* proof */, - std::unique_ptr<ProofSource::Details> /* details */) override { + void Run( + bool ok, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, + const QuicCryptoProof& /* proof */, + std::unique_ptr<ProofSource::Details> /* details */) override { *ok_ = ok; *chain_ = chain; } private: bool* ok_; - QuicReferenceCountedPointer<ProofSource::Chain>* chain_; + quiche::QuicheReferenceCountedPointer<ProofSource::Chain>* chain_; }; // Note: relies on the callback being invoked synchronously @@ -838,12 +841,10 @@ void GenerateFullCHLO( const CryptoHandshakeMessage& inchoate_chlo, - QuicCryptoServerConfig* crypto_config, - QuicSocketAddress server_addr, - QuicSocketAddress client_addr, - QuicTransportVersion transport_version, + QuicCryptoServerConfig* crypto_config, QuicSocketAddress server_addr, + QuicSocketAddress client_addr, QuicTransportVersion transport_version, const QuicClock* clock, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config, QuicCompressedCertsCache* compressed_certs_cache, CryptoHandshakeMessage* out) { // Pass a inchoate CHLO.
diff --git a/quic/test_tools/crypto_test_utils.h b/quic/test_tools/crypto_test_utils.h index bd065f6..c92eb17 100644 --- a/quic/test_tools/crypto_test_utils.h +++ b/quic/test_tools/crypto_test_utils.h
@@ -192,12 +192,10 @@ // |crypto_config|'s validation. void GenerateFullCHLO( const CryptoHandshakeMessage& inchoate_chlo, - QuicCryptoServerConfig* crypto_config, - QuicSocketAddress server_addr, - QuicSocketAddress client_addr, - QuicTransportVersion transport_version, + QuicCryptoServerConfig* crypto_config, QuicSocketAddress server_addr, + QuicSocketAddress client_addr, QuicTransportVersion transport_version, const QuicClock* clock, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config, QuicCompressedCertsCache* compressed_certs_cache, CryptoHandshakeMessage* out);
diff --git a/quic/test_tools/crypto_test_utils_test.cc b/quic/test_tools/crypto_test_utils_test.cc index b1f2115..18bada5 100644 --- a/quic/test_tools/crypto_test_utils_test.cc +++ b/quic/test_tools/crypto_test_utils_test.cc
@@ -18,14 +18,13 @@ class ShloVerifier { public: - ShloVerifier( - QuicCryptoServerConfig* crypto_config, - QuicSocketAddress server_addr, - QuicSocketAddress client_addr, - const QuicClock* clock, - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, - QuicCompressedCertsCache* compressed_certs_cache, - ParsedQuicVersion version) + ShloVerifier(QuicCryptoServerConfig* crypto_config, + QuicSocketAddress server_addr, QuicSocketAddress client_addr, + const QuicClock* clock, + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> + signed_config, + QuicCompressedCertsCache* compressed_certs_cache, + ParsedQuicVersion version) : crypto_config_(crypto_config), server_addr_(server_addr), client_addr_(client_addr), @@ -39,8 +38,9 @@ public: explicit ValidateClientHelloCallback(ShloVerifier* shlo_verifier) : shlo_verifier_(shlo_verifier) {} - void Run(QuicReferenceCountedPointer< - ValidateClientHelloResultCallback::Result> result, + void Run(quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> + result, std::unique_ptr<ProofSource::Details> /* details */) override { shlo_verifier_->ValidateClientHelloDone(result); } @@ -56,7 +56,7 @@ private: void ValidateClientHelloDone( - const QuicReferenceCountedPointer< + const quiche::QuicheReferenceCountedPointer< ValidateClientHelloResultCallback::Result>& result) { result_ = result; crypto_config_->ProcessClientHello( @@ -99,11 +99,12 @@ QuicSocketAddress server_addr_; QuicSocketAddress client_addr_; const QuicClock* clock_; - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config_; + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config_; QuicCompressedCertsCache* compressed_certs_cache_; - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; - QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result> + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer< + ValidateClientHelloResultCallback::Result> result_; const ParsedQuicVersion version_; @@ -118,7 +119,7 @@ crypto_test_utils::ProofSourceForTesting(), KeyExchangeSource::Default()); QuicSocketAddress server_addr(QuicIpAddress::Any4(), 5); QuicSocketAddress client_addr(QuicIpAddress::Loopback4(), 1); - QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config( + quiche::QuicheReferenceCountedPointer<QuicSignedServerConfig> signed_config( new QuicSignedServerConfig); QuicCompressedCertsCache compressed_certs_cache( QuicCompressedCertsCache::kQuicCompressedCertsCacheSize);
diff --git a/quic/test_tools/failing_proof_source.cc b/quic/test_tools/failing_proof_source.cc index 1f17c8a..8eb13db 100644 --- a/quic/test_tools/failing_proof_source.cc +++ b/quic/test_tools/failing_proof_source.cc
@@ -19,13 +19,13 @@ callback->Run(false, nullptr, QuicCryptoProof(), nullptr); } -QuicReferenceCountedPointer<ProofSource::Chain> +quiche::QuicheReferenceCountedPointer<ProofSource::Chain> FailingProofSource::GetCertChain(const QuicSocketAddress& /*server_address*/, const QuicSocketAddress& /*client_address*/, const std::string& /*hostname*/, bool* cert_matched_sni) { *cert_matched_sni = false; - return QuicReferenceCountedPointer<Chain>(); + return quiche::QuicheReferenceCountedPointer<Chain>(); } void FailingProofSource::ComputeTlsSignature(
diff --git a/quic/test_tools/failing_proof_source.h b/quic/test_tools/failing_proof_source.h index db5a197..333bdc3 100644 --- a/quic/test_tools/failing_proof_source.h +++ b/quic/test_tools/failing_proof_source.h
@@ -21,7 +21,7 @@ absl::string_view chlo_hash, std::unique_ptr<Callback> callback) override; - QuicReferenceCountedPointer<Chain> GetCertChain( + quiche::QuicheReferenceCountedPointer<Chain> GetCertChain( const QuicSocketAddress& server_address, const QuicSocketAddress& client_address, const std::string& hostname, bool* cert_matched_sni) override;
diff --git a/quic/test_tools/fake_proof_source.cc b/quic/test_tools/fake_proof_source.cc index 0f7cb19..2f30610 100644 --- a/quic/test_tools/fake_proof_source.cc +++ b/quic/test_tools/fake_proof_source.cc
@@ -94,10 +94,11 @@ delegate_.get())); } -QuicReferenceCountedPointer<ProofSource::Chain> FakeProofSource::GetCertChain( - const QuicSocketAddress& server_address, - const QuicSocketAddress& client_address, const std::string& hostname, - bool* cert_matched_sni) { +quiche::QuicheReferenceCountedPointer<ProofSource::Chain> +FakeProofSource::GetCertChain(const QuicSocketAddress& server_address, + const QuicSocketAddress& client_address, + const std::string& hostname, + bool* cert_matched_sni) { return delegate_->GetCertChain(server_address, client_address, hostname, cert_matched_sni); }
diff --git a/quic/test_tools/fake_proof_source.h b/quic/test_tools/fake_proof_source.h index b135129..256e174 100644 --- a/quic/test_tools/fake_proof_source.h +++ b/quic/test_tools/fake_proof_source.h
@@ -41,7 +41,7 @@ QuicTransportVersion transport_version, absl::string_view chlo_hash, std::unique_ptr<ProofSource::Callback> callback) override; - QuicReferenceCountedPointer<Chain> GetCertChain( + quiche::QuicheReferenceCountedPointer<Chain> GetCertChain( const QuicSocketAddress& server_address, const QuicSocketAddress& client_address, const std::string& hostname, bool* cert_matched_sni) override;
diff --git a/quic/test_tools/fake_proof_source_handle.cc b/quic/test_tools/fake_proof_source_handle.cc index 0b2e06f..7d30bdd 100644 --- a/quic/test_tools/fake_proof_source_handle.cc +++ b/quic/test_tools/fake_proof_source_handle.cc
@@ -104,7 +104,7 @@ QUICHE_DCHECK(select_cert_action_ == Action::DELEGATE_SYNC); bool cert_matched_sni; - QuicReferenceCountedPointer<ProofSource::Chain> chain = + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain = delegate_->GetCertChain(server_address, client_address, hostname, &cert_matched_sni); @@ -197,7 +197,7 @@ /*cert_matched_sni=*/false, dealyed_ssl_config_); } else if (action_ == Action::DELEGATE_ASYNC) { bool cert_matched_sni; - QuicReferenceCountedPointer<ProofSource::Chain> chain = + quiche::QuicheReferenceCountedPointer<ProofSource::Chain> chain = delegate_->GetCertChain(args_.server_address, args_.client_address, args_.hostname, &cert_matched_sni); bool ok = chain && !chain->certs.empty();
diff --git a/quic/test_tools/quic_crypto_server_config_peer.cc b/quic/test_tools/quic_crypto_server_config_peer.cc index 848ebad..8027d78 100644 --- a/quic/test_tools/quic_crypto_server_config_peer.cc +++ b/quic/test_tools/quic_crypto_server_config_peer.cc
@@ -12,19 +12,19 @@ namespace quic { namespace test { -QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> +quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> QuicCryptoServerConfigPeer::GetPrimaryConfig() { QuicReaderMutexLock locked(&server_config_->configs_lock_); - return QuicReferenceCountedPointer<QuicCryptoServerConfig::Config>( + return quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config>( server_config_->primary_config_); } -QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> +quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> QuicCryptoServerConfigPeer::GetConfig(std::string config_id) { QuicReaderMutexLock locked(&server_config_->configs_lock_); if (config_id == "<primary>") { - return QuicReferenceCountedPointer<QuicCryptoServerConfig::Config>( - server_config_->primary_config_); + return quiche::QuicheReferenceCountedPointer< + QuicCryptoServerConfig::Config>(server_config_->primary_config_); } else { return server_config_->GetConfigWithScid(config_id); } @@ -91,9 +91,9 @@ ASSERT_EQ(expected_ids_and_status.size(), server_config_->configs_.size()) << ConfigsDebug(); - for (const std::pair< - const ServerConfigID, - QuicReferenceCountedPointer<QuicCryptoServerConfig::Config>>& i : + for (const std::pair<const ServerConfigID, + quiche::QuicheReferenceCountedPointer< + QuicCryptoServerConfig::Config>>& i : server_config_->configs_) { bool found = false; for (std::pair<ServerConfigID, bool>& j : expected_ids_and_status) { @@ -120,8 +120,8 @@ std::string s; for (const auto& i : server_config_->configs_) { - const QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> config = - i.second; + const quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> + config = i.second; if (config->is_primary) { s += "(primary) "; } else { @@ -142,7 +142,7 @@ std::string QuicCryptoServerConfigPeer::CompressChain( QuicCompressedCertsCache* compressed_certs_cache, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes) { return QuicCryptoServerConfig::CompressChain(compressed_certs_cache, chain, client_cached_cert_hashes);
diff --git a/quic/test_tools/quic_crypto_server_config_peer.h b/quic/test_tools/quic_crypto_server_config_peer.h index 649e323..029d403 100644 --- a/quic/test_tools/quic_crypto_server_config_peer.h +++ b/quic/test_tools/quic_crypto_server_config_peer.h
@@ -18,12 +18,12 @@ : server_config_(server_config) {} // Returns the primary config. - QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> + quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> GetPrimaryConfig(); // Returns the config associated with |config_id|. - QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> GetConfig( - std::string config_id); + quiche::QuicheReferenceCountedPointer<QuicCryptoServerConfig::Config> + GetConfig(std::string config_id); // Returns a pointer to the ProofSource object. ProofSource* GetProofSource() const; @@ -76,7 +76,7 @@ static std::string CompressChain( QuicCompressedCertsCache* compressed_certs_cache, - const QuicReferenceCountedPointer<ProofSource::Chain>& chain, + const quiche::QuicheReferenceCountedPointer<ProofSource::Chain>& chain, const std::string& client_cached_cert_hashes); uint32_t source_address_token_future_secs();
diff --git a/quic/test_tools/quic_spdy_session_peer.cc b/quic/test_tools/quic_spdy_session_peer.cc index f0f99ee..cf14ab3 100644 --- a/quic/test_tools/quic_spdy_session_peer.cc +++ b/quic/test_tools/quic_spdy_session_peer.cc
@@ -48,7 +48,8 @@ size_t QuicSpdySessionPeer::WriteHeadersOnHeadersStream( QuicSpdySession* session, QuicStreamId id, spdy::SpdyHeaderBlock headers, bool fin, const spdy::SpdyStreamPrecedence& precedence, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { return session->WriteHeadersOnHeadersStream( id, std::move(headers), fin, precedence, std::move(ack_listener)); }
diff --git a/quic/test_tools/quic_spdy_session_peer.h b/quic/test_tools/quic_spdy_session_peer.h index ba28e67..df65fc3 100644 --- a/quic/test_tools/quic_spdy_session_peer.h +++ b/quic/test_tools/quic_spdy_session_peer.h
@@ -34,7 +34,8 @@ static size_t WriteHeadersOnHeadersStream( QuicSpdySession* session, QuicStreamId id, spdy::SpdyHeaderBlock headers, bool fin, const spdy::SpdyStreamPrecedence& precedence, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // |session| can't be nullptr. static QuicStreamId GetNextOutgoingUnidirectionalStreamId( QuicSpdySession* session);
diff --git a/quic/test_tools/quic_spdy_stream_peer.cc b/quic/test_tools/quic_spdy_stream_peer.cc index ea21081..f55e60a 100644 --- a/quic/test_tools/quic_spdy_stream_peer.cc +++ b/quic/test_tools/quic_spdy_stream_peer.cc
@@ -13,7 +13,8 @@ // static void QuicSpdyStreamPeer::set_ack_listener( QuicSpdyStream* stream, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { stream->set_ack_listener(std::move(ack_listener)); }
diff --git a/quic/test_tools/quic_spdy_stream_peer.h b/quic/test_tools/quic_spdy_stream_peer.h index 692cbc3..10bb4a6 100644 --- a/quic/test_tools/quic_spdy_stream_peer.h +++ b/quic/test_tools/quic_spdy_stream_peer.h
@@ -20,7 +20,8 @@ public: static void set_ack_listener( QuicSpdyStream* stream, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); static const QuicIntervalSet<QuicStreamOffset>& unacked_frame_headers_offsets( QuicSpdyStream* stream); static bool use_datagram_contexts(QuicSpdyStream* stream);
diff --git a/quic/test_tools/quic_test_client.cc b/quic/test_tools/quic_test_client.cc index 02d890f..f0d5981 100644 --- a/quic/test_tools/quic_test_client.cc +++ b/quic/test_tools/quic_test_client.cc
@@ -455,10 +455,9 @@ } ssize_t QuicTestClient::GetOrCreateStreamAndSendRequest( - const spdy::SpdyHeaderBlock* headers, - absl::string_view body, - bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + const spdy::SpdyHeaderBlock* headers, absl::string_view body, bool fin, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { if (headers) { QuicClientPushPromiseIndex::TryHandle* handle; QuicAsyncStatus rv = @@ -530,9 +529,9 @@ } ssize_t QuicTestClient::SendData( - const std::string& data, - bool last_data, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { + const std::string& data, bool last_data, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) { return GetOrCreateStreamAndSendRequest(nullptr, absl::string_view(data), last_data, std::move(ack_listener)); } @@ -898,11 +897,10 @@ } QuicTestClient::TestClientDataToResend::TestClientDataToResend( - std::unique_ptr<spdy::SpdyHeaderBlock> headers, - absl::string_view body, - bool fin, - QuicTestClient* test_client, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) + std::unique_ptr<spdy::SpdyHeaderBlock> headers, absl::string_view body, + bool fin, QuicTestClient* test_client, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener) : QuicClient::QuicDataToResend(std::move(headers), body, fin), test_client_(test_client), ack_listener_(std::move(ack_listener)) {}
diff --git a/quic/test_tools/quic_test_client.h b/quic/test_tools/quic_test_client.h index db97e02..b655adf 100644 --- a/quic/test_tools/quic_test_client.h +++ b/quic/test_tools/quic_test_client.h
@@ -123,9 +123,9 @@ ssize_t SendData(const std::string& data, bool last_data); // As above, but |delegate| will be notified when |data| is ACKed. ssize_t SendData( - const std::string& data, - bool last_data, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + const std::string& data, bool last_data, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); // Clears any outstanding state and sends a simple GET of 'uri' to the // server. Returns 0 if the request failed and no bytes were written. @@ -262,10 +262,9 @@ // stores the request in case it needs to be resent. If |headers| is // null, only the body will be sent on the stream. ssize_t GetOrCreateStreamAndSendRequest( - const spdy::SpdyHeaderBlock* headers, - absl::string_view body, - bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + const spdy::SpdyHeaderBlock* headers, absl::string_view body, bool fin, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); QuicRstStreamErrorCode stream_error() { return stream_error_; } QuicErrorCode connection_error() const; @@ -340,11 +339,10 @@ class TestClientDataToResend : public QuicClient::QuicDataToResend { public: TestClientDataToResend( - std::unique_ptr<spdy::SpdyHeaderBlock> headers, - absl::string_view body, - bool fin, - QuicTestClient* test_client, - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener); + std::unique_ptr<spdy::SpdyHeaderBlock> headers, absl::string_view body, + bool fin, QuicTestClient* test_client, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener); ~TestClientDataToResend() override; @@ -352,7 +350,8 @@ protected: QuicTestClient* test_client_; - QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener_; + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + ack_listener_; }; // PerStreamState of a stream is updated when it is closed.
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h index d9bc541..82262eb 100644 --- a/quic/test_tools/quic_test_utils.h +++ b/quic/test_tools/quic_test_utils.h
@@ -858,7 +858,7 @@ SSL* GetSsl() const override { return nullptr; } private: - QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; + quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_; CryptoFramer crypto_framer_; };
diff --git a/quic/tools/quic_simple_server_stream_test.cc b/quic/tools/quic_simple_server_stream_test.cc index 40b470e..411ee96 100644 --- a/quic/tools/quic_simple_server_stream_test.cc +++ b/quic/tools/quic_simple_server_stream_test.cc
@@ -58,9 +58,10 @@ MOCK_METHOD(void, WriteHeadersMock, (bool fin), ()); MOCK_METHOD(void, WriteEarlyHintsHeadersMock, (bool fin), ()); - size_t WriteHeaders(spdy::Http2HeaderBlock header_block, bool fin, - QuicReferenceCountedPointer<QuicAckListenerInterface> - /*ack_listener*/) override { + size_t WriteHeaders( + spdy::Http2HeaderBlock header_block, bool fin, + quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface> + /*ack_listener*/) override { if (header_block[":status"] == "103") { WriteEarlyHintsHeadersMock(fin); } else {
diff --git a/quic/tools/quic_toy_client.cc b/quic/tools/quic_toy_client.cc index 7b6b760..c033fd8 100644 --- a/quic/tools/quic_toy_client.cc +++ b/quic/tools/quic_toy_client.cc
@@ -216,7 +216,7 @@ auto proof_source = std::make_unique<DefaultClientProofSource>(); proof_source->AddCertAndKey( {"*"}, - QuicReferenceCountedPointer<ClientProofSource::Chain>( + quiche::QuicheReferenceCountedPointer<ClientProofSource::Chain>( new ClientProofSource::Chain(certs)), std::move(*private_key));