Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: net/quic/core/crypto/quic_crypto_server_config.h

Issue 2339433004: Use unique_ptrs to manage callback lifetimes in some QUIC code (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/quic/core/crypto/quic_crypto_server_config.h
diff --git a/net/quic/core/crypto/quic_crypto_server_config.h b/net/quic/core/crypto/quic_crypto_server_config.h
index f02511a9b1f725c55da20fae0d7793905176774c..e6983c8daa99626a0684458ccfd641dea955bd50 100644
--- a/net/quic/core/crypto/quic_crypto_server_config.h
+++ b/net/quic/core/crypto/quic_crypto_server_config.h
@@ -105,12 +105,8 @@ class NET_EXPORT_PRIVATE ValidateClientHelloResultCallback {
ValidateClientHelloResultCallback();
virtual ~ValidateClientHelloResultCallback();
- void Run(std::unique_ptr<Result> result,
- std::unique_ptr<ProofSource::Details> details);
-
- protected:
- virtual void RunImpl(std::unique_ptr<Result> result,
- std::unique_ptr<ProofSource::Details> details) = 0;
+ virtual void Run(std::unique_ptr<Result> result,
+ std::unique_ptr<ProofSource::Details> details) = 0;
private:
DISALLOW_COPY_AND_ASSIGN(ValidateClientHelloResultCallback);
@@ -241,13 +237,14 @@ class NET_EXPORT_PRIVATE QuicCryptoServerConfig {
// the client hello. The callback will always be called exactly
// once, either under the current call stack, or after the
// completion of an asynchronous operation.
- void ValidateClientHello(const CryptoHandshakeMessage& client_hello,
- const IPAddress& client_ip,
- const IPAddress& server_ip,
- QuicVersion version,
- const QuicClock* clock,
- QuicCryptoProof* crypto_proof,
- ValidateClientHelloResultCallback* done_cb) const;
+ void ValidateClientHello(
+ const CryptoHandshakeMessage& client_hello,
+ const IPAddress& client_ip,
+ const IPAddress& server_ip,
+ QuicVersion version,
+ const QuicClock* clock,
+ QuicCryptoProof* crypto_proof,
+ std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const;
// ProcessClientHello processes |client_hello| and decides whether to accept
// or reject the connection. If the connection is to be accepted, |out| is
@@ -418,7 +415,8 @@ class NET_EXPORT_PRIVATE QuicCryptoServerConfig {
void set_enable_serving_sct(bool enable_serving_sct);
// Set and take ownership of the callback to invoke on primary config changes.
- void AcquirePrimaryConfigChangedCb(PrimaryConfigChangedCallback* cb);
+ void AcquirePrimaryConfigChangedCb(
+ std::unique_ptr<PrimaryConfigChangedCallback> cb);
// Returns the number of configs this object owns.
int NumberOfConfigs() const;
@@ -520,7 +518,7 @@ class NET_EXPORT_PRIVATE QuicCryptoServerConfig {
QuicCryptoProof* crypto_proof,
std::unique_ptr<ValidateClientHelloResultCallback::Result>
client_hello_state,
- ValidateClientHelloResultCallback* done_cb) const;
+ std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const;
// Callback class for bridging between EvaluateClientHello and
// EvaluateClientHelloAfterGetProof
@@ -543,7 +541,7 @@ class NET_EXPORT_PRIVATE QuicCryptoServerConfig {
bool get_proof_failed,
std::unique_ptr<ValidateClientHelloResultCallback::Result>
client_hello_state,
- ValidateClientHelloResultCallback* done_cb) const;
+ std::unique_ptr<ValidateClientHelloResultCallback> done_cb) const;
// BuildRejection sets |out| to be a REJ message in reply to |client_hello|.
void BuildRejection(QuicVersion version,
@@ -690,7 +688,7 @@ class NET_EXPORT_PRIVATE QuicCryptoServerConfig {
std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb_;
};
- // Invoked by BuildServerConfigUpdateMessageProofSourceCallback::RunImpl once
+ // Invoked by BuildServerConfigUpdateMessageProofSourceCallback::Run once
// the proof has been acquired. Finishes building the server config update
// message and invokes |cb|.
void FinishBuildServerConfigUpdateMessage(

Powered by Google App Engine
This is Rietveld 408576698