Index: net/socket/ssl_client_socket_nss.h |
diff --git a/net/socket/ssl_client_socket_nss.h b/net/socket/ssl_client_socket_nss.h |
index 8cbdff672ec0e742f9662df51d5038de15b4950f..1535e04f5689150a9f77762e6b8584ccd7e8ca86 100644 |
--- a/net/socket/ssl_client_socket_nss.h |
+++ b/net/socket/ssl_client_socket_nss.h |
@@ -57,17 +57,25 @@ class SSLClientSocketNSS : public SSLClientSocket { |
private: |
void InvalidateSessionIfBadCertificate(); |
X509Certificate* UpdateServerCert(); |
- void DoCallback(int result); |
+ void DoReadCallback(int result); |
+ void DoWriteCallback(int result); |
void DoConnectCallback(int result); |
- void OnIOComplete(int result); |
+ void OnHandshakeIOComplete(int result); |
+ void OnSendComplete(int result); |
+ void OnRecvComplete(int result); |
- int DoLoop(int last_io_result); |
- int DoHandshakeRead(); |
+ int DoHandshakeLoop(int last_io_result); |
+ int DoReadLoop(int result); |
+ int DoWriteLoop(int result); |
+ |
+ int DoHandshake(); |
int DoVerifyCert(int result); |
int DoVerifyCertComplete(int result); |
int DoPayloadRead(); |
int DoPayloadWrite(); |
int Init(); |
+ |
+ bool DoTransportIO(); |
int BufferSend(void); |
int BufferRecv(void); |
void BufferSendComplete(int result); |
@@ -87,17 +95,22 @@ class SSLClientSocketNSS : public SSLClientSocket { |
bool transport_recv_busy_; |
scoped_refptr<IOBuffer> recv_buffer_; |
- CompletionCallbackImpl<SSLClientSocketNSS> io_callback_; |
+ CompletionCallbackImpl<SSLClientSocketNSS> handshake_io_callback_; |
scoped_ptr<ClientSocket> transport_; |
std::string hostname_; |
SSLConfig ssl_config_; |
CompletionCallback* user_connect_callback_; |
- CompletionCallback* user_callback_; |
+ CompletionCallback* user_read_callback_; |
+ CompletionCallback* user_write_callback_; |
+ |
+ // Used by Read function. |
+ scoped_refptr<IOBuffer> user_read_buf_; |
+ int user_read_buf_len_; |
- // Used by both Read and Write functions. |
- scoped_refptr<IOBuffer> user_buf_; |
- int user_buf_len_; |
+ // Used by Write function. |
+ scoped_refptr<IOBuffer> user_write_buf_; |
+ int user_write_buf_len_; |
// Set when handshake finishes. |
scoped_refptr<X509Certificate> server_cert_; |
@@ -109,13 +122,11 @@ class SSLClientSocketNSS : public SSLClientSocket { |
enum State { |
STATE_NONE, |
- STATE_HANDSHAKE_READ, |
+ STATE_HANDSHAKE, |
STATE_VERIFY_CERT, |
STATE_VERIFY_CERT_COMPLETE, |
- STATE_PAYLOAD_WRITE, |
- STATE_PAYLOAD_READ, |
}; |
- State next_state_; |
+ State next_handshake_state_; |
// The NSS SSL state machine |
PRFileDesc* nss_fd_; |