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..e8e35385c8a552faf848dc9282259a9fd217aa10 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 |
+ // is necessary so that all classes create cache keys in a consistent |
+ // manner. |
+ static std::string FormatSessionCacheKey(std::string host_and_port, |
+ std::string ssl_session_cache_shard); |
Ryan Sleevi
2014/07/10 19:51:05
From a design perspective, I think this will cause
mshelley
2014/07/10 22:07:15
I implemented this in response to Wan-Teh's commen
|
+ |
+ // 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 |
+ // 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 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; |
+ |
+ // Marks this socket as the leading connection. |
+ 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 +159,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 EnableConnectJobWaiting(bool enable); |
+ |
+ static NET_EXPORT bool GetEnableConnectJobWaiting(); |
Ryan Sleevi
2014/07/10 19:51:05
I realize this is a comment late-to-the-game, but
mshelley
2014/07/10 22:07:15
Done.
|
+ |
protected: |
virtual void set_channel_id_sent(bool channel_id_sent); |
@@ -185,6 +216,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_connect_job_waiting_; |
}; |
} // namespace net |