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

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: Added checks to determine if false start connections fail, and moved location of enable_job_waiting… 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..08e022481d0de6d7865747c28dea48117fd66a39 100644
--- a/net/socket/ssl_client_socket.h
+++ b/net/socket/ssl_client_socket.h
@@ -81,6 +81,27 @@ class NET_EXPORT SSLClientSocket : public SSLSocket {
virtual bool WasNpnNegotiated() const OVERRIDE;
virtual NextProto GetNegotiatedProtocol() const OVERRIDE;
+ // Returns true if there is a cache entry in the ssl session cache
+ // for the given cache key.
+ //
+ // The cache key consists of a host_and_port concatenated with a session
mmenke 2014/07/08 21:02:05 I don't see any object named host_and_port. I thi
mshelley 2014/07/09 19:51:00 Done.
+ // cache shard.
+ virtual bool InSessionCache() const = 0;
+
+ // Tells the session cache to monitor this socket's session and inform
+ // its SSLConnectJobMessenger upon the session's completion.
wtc 2014/07/08 01:25:42 I don't understand what "session's completion" mea
mshelley 2014/07/09 19:51:00 This refers to the completion of the connection fo
+ virtual void WatchSessionForCompletion(
+ const base::Closure& callback) const = 0;
+
+ // Sets the callback to be used if the socket's connection should fail.
+ virtual void SetSocketFailureCallback(const base::Closure& callback) = 0;
+
+ // Sets the |is_leader_| variable to true.
wtc 2014/07/08 01:25:42 This header doesn't have the "is_leader_" variable
mshelley 2014/07/09 19:51:00 Done.
+ virtual void SetIsLeader() = 0;
+
+ // In the case of a failed connection, run the appropriate callback.
+ virtual void OnSocketFailure() = 0;
+
// Gets the SSL CertificateRequest info of the socket after Connect failed
// with ERR_SSL_CLIENT_AUTH_CERT_NEEDED.
virtual void GetSSLCertRequestInfo(
@@ -133,6 +154,11 @@ class NET_EXPORT SSLClientSocket : public SSLSocket {
// Public for ssl_client_socket_openssl_unittest.cc.
virtual bool WasChannelIDSent() const;
+ // Enable SSLConnectJob waiting if |enable| is true.
+ static NET_EXPORT void EnableJobWaiting(bool enable);
wtc 2014/07/08 01:25:42 EnableJobWaiting => EnableConnectJobWaiting. GetE
mshelley 2014/07/09 19:51:00 Done.
+
+ static NET_EXPORT bool GetEnableJobWaiting();
+
protected:
virtual void set_channel_id_sent(bool channel_id_sent);
@@ -185,6 +211,8 @@ class NET_EXPORT SSLClientSocket : public SSLSocket {
bool signed_cert_timestamps_received_;
// True if a stapled OCSP response was received.
bool stapled_ocsp_response_received_;
+
+ static bool enable_job_waiting_;
};
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698