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));