Index: net/socket/ssl_client_socket_openssl.h |
diff --git a/net/socket/ssl_client_socket_openssl.h b/net/socket/ssl_client_socket_openssl.h |
index ac65710bd1e683c023994fd7aebb914b1605ae50..cf01364c8d0e74ad8a8f7ba603576b2fa2afe5c3 100644 |
--- a/net/socket/ssl_client_socket_openssl.h |
+++ b/net/socket/ssl_client_socket_openssl.h |
@@ -95,6 +95,8 @@ class SSLClientSocketOpenSSL : public SSLClientSocket { |
virtual int SetReceiveBufferSize(int32 size) OVERRIDE; |
virtual int SetSendBufferSize(int32 size) OVERRIDE; |
+ void CheckIfSessionFinished(); |
Ryan Sleevi
2014/08/06 01:31:30
This doesn't need to be public, does it? The stati
mshelley
2014/08/06 03:09:31
Done.
|
+ |
protected: |
// SSLClientSocket implementation. |
virtual scoped_refptr<X509Certificate> GetUnverifiedServerCertificateChain() |
@@ -106,6 +108,9 @@ class SSLClientSocketOpenSSL : public SSLClientSocket { |
friend class SSLClientSocket; |
friend class SSLContext; |
+ // Callback that is run by OpenSSL when a session's handshake has finished. |
+ static void OnSessionFinishedCallback(const SSL* ssl, int result, int unused); |
+ |
int Init(); |
void DoReadCallback(int result); |
void DoWriteCallback(int result); |
@@ -268,6 +273,14 @@ class SSLClientSocketOpenSSL : public SSLClientSocket { |
std::string channel_id_cert_; |
// True if channel ID extension was negotiated. |
bool channel_id_xtn_negotiated_; |
+ // Integer indicating the status of this connection's SSL handshake. |
+ // |
+ // |session_completion_count_| < 2 means that the ssl session associated with |
+ // this socket has not been added to the session cache or has not been marked |
+ // as good. |session_completion_count_| is incremented when a sesion is added |
+ // to the session cache or marked as good, thus |session_completion_count_| |
+ // == 2 means that the session is ready for use. |
+ int session_completion_count_; |
// The request handle for |channel_id_service_|. |
ChannelIDService::RequestHandle channel_id_request_handle_; |
BoundNetLog net_log_; |