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

Unified Diff: net/socket/ssl_client_socket.h

Issue 353713005: Implements new, more robust design for communicating between SSLConnectJobs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed location of enable_connect_job_waiting_ and added documentation. Created 6 years, 5 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/socket/ssl_client_socket.h
diff --git a/net/socket/ssl_client_socket.h b/net/socket/ssl_client_socket.h
index a43e58cc26b852fb86d92a1a5ac7c4e7c357b286..64e3dc74e4e4ce2c50dc95896c2a2876b696f6d3 100644
--- a/net/socket/ssl_client_socket.h
+++ b/net/socket/ssl_client_socket.h
@@ -81,6 +81,32 @@ class NET_EXPORT SSLClientSocket : public SSLSocket {
virtual bool WasNpnNegotiated() const OVERRIDE;
virtual NextProto GetNegotiatedProtocol() const OVERRIDE;
+ // Format a unique key for the SSL session cache. This method
wtc 2014/07/11 00:48:53 Nit: Format => Formats See the Style Guide: Th
mshelley 2014/07/11 23:26:26 Done.
+ // is necessary so that all classes create cache keys in a consistent
+ // manner.
+ static std::string FormatSessionCacheKey(std::string host_and_port,
wtc 2014/07/11 00:48:53 IMPORTANT: this method should ideally be a virtual
mshelley 2014/07/11 23:26:26 So basically I added this method because I needed
+ std::string ssl_session_cache_shard);
wtc 2014/07/11 00:48:53 These two std::string input parameters should be c
mshelley 2014/07/11 23:26:26 Done.
+
+ // Returns true if there is a cache entry in the ssl session cache
+ // for the given cache key.
wtc 2014/07/11 00:48:53 Nit: the given cache key => the cache key of the S
mshelley 2014/07/11 23:26:26 Done.
+ //
+ // The cache key consists of a host and port concatenated with a session
+ // cache shard.
wtc 2014/07/11 00:48:54 Please point out that these two pieces of info are
mshelley 2014/07/11 23:26:26 Done.
+ virtual bool InSessionCache() const = 0;
+
+ // Tells the session cache to monitor this socket's session and inform
+ // its SSLConnectJobMessenger upon the session's connection's completion.
+ virtual void WatchSessionForCompletion(const base::Closure& callback) = 0;
+
+ // Sets the callback to be used if the socket's connection should fail.
+ virtual void SetSocketFailureCallback(const base::Closure& callback) = 0;
wtc 2014/07/11 00:48:53 IMPORTANT: WatchSessionForCompletion and SetSocket
mshelley 2014/07/11 23:26:26 Done.
+
+ // Marks this socket as the leading connection.
+ virtual void SetIsLeader() = 0;
wtc 2014/07/11 00:48:53 IMPORTANT: Remove this method. It is not necessary
mshelley 2014/07/11 23:26:26 Done.
+
+ // In the case of a failed connection, run the appropriate callback.
+ virtual void OnSocketFailure() = 0;
wtc 2014/07/11 00:48:53 IMPORTANT: Remove OnSocketFailure from this header
mshelley 2014/07/11 23:26:26 Done.
+
// Gets the SSL CertificateRequest info of the socket after Connect failed
// with ERR_SSL_CLIENT_AUTH_CERT_NEEDED.
virtual void GetSSLCertRequestInfo(

Powered by Google App Engine
This is Rietveld 408576698