| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_WIN_H_ | 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_WIN_H_ |
| 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_WIN_H_ | 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_WIN_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #define SECURITY_WIN32 // Needs to be defined before including security.h | 9 #define SECURITY_WIN32 // Needs to be defined before including security.h |
| 10 | 10 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 virtual void GetSSLInfo(SSLInfo* ssl_info); | 49 virtual void GetSSLInfo(SSLInfo* ssl_info); |
| 50 virtual void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info); | 50 virtual void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info); |
| 51 virtual int ExportKeyingMaterial(const base::StringPiece& label, | 51 virtual int ExportKeyingMaterial(const base::StringPiece& label, |
| 52 const base::StringPiece& context, | 52 const base::StringPiece& context, |
| 53 unsigned char *out, | 53 unsigned char *out, |
| 54 unsigned int outlen); | 54 unsigned int outlen); |
| 55 virtual NextProtoStatus GetNextProto(std::string* proto, | 55 virtual NextProtoStatus GetNextProto(std::string* proto, |
| 56 std::string* server_protos); | 56 std::string* server_protos); |
| 57 | 57 |
| 58 // StreamSocket implementation. | 58 // StreamSocket implementation. |
| 59 virtual int Connect(OldCompletionCallback* callback); | 59 virtual int Connect(const CompletionCallback& callback) OVERRIDE; |
| 60 virtual int Connect(const CompletionCallback& callback); | 60 virtual void Disconnect() OVERRIDE; |
| 61 virtual void Disconnect(); | 61 virtual bool IsConnected() const OVERRIDE; |
| 62 virtual bool IsConnected() const; | 62 virtual bool IsConnectedAndIdle() const OVERRIDE; |
| 63 virtual bool IsConnectedAndIdle() const; | 63 virtual int GetPeerAddress(AddressList* address) const OVERRIDE; |
| 64 virtual int GetPeerAddress(AddressList* address) const; | 64 virtual int GetLocalAddress(IPEndPoint* address) const OVERRIDE; |
| 65 virtual int GetLocalAddress(IPEndPoint* address) const; | 65 virtual const BoundNetLog& NetLog() const OVERRIDE{ return net_log_; } |
| 66 virtual const BoundNetLog& NetLog() const { return net_log_; } | 66 virtual void SetSubresourceSpeculation() OVERRIDE; |
| 67 virtual void SetSubresourceSpeculation(); | 67 virtual void SetOmniboxSpeculation() OVERRIDE; |
| 68 virtual void SetOmniboxSpeculation(); | 68 virtual bool WasEverUsed() const OVERRIDE; |
| 69 virtual bool WasEverUsed() const; | 69 virtual bool UsingTCPFastOpen() const OVERRIDE; |
| 70 virtual bool UsingTCPFastOpen() const; | 70 virtual int64 NumBytesRead() const OVERRIDE; |
| 71 virtual int64 NumBytesRead() const; | 71 virtual base::TimeDelta GetConnectTimeMicros() const OVERRIDE; |
| 72 virtual base::TimeDelta GetConnectTimeMicros() const; | |
| 73 | 72 |
| 74 // Socket implementation. | 73 // Socket implementation. |
| 75 virtual int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback); | |
| 76 virtual int Read(IOBuffer* buf, int buf_len, | 74 virtual int Read(IOBuffer* buf, int buf_len, |
| 77 const CompletionCallback& callback); | 75 const CompletionCallback& callback) OVERRIDE; |
| 78 virtual int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback)
; | 76 virtual int Write(IOBuffer* buf, int buf_len, |
| 77 const CompletionCallback& callback) OVERRIDE; |
| 79 | 78 |
| 80 virtual bool SetReceiveBufferSize(int32 size); | 79 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; |
| 81 virtual bool SetSendBufferSize(int32 size); | 80 virtual bool SetSendBufferSize(int32 size) OVERRIDE; |
| 82 | 81 |
| 83 private: | 82 private: |
| 84 bool completed_handshake() const { | 83 bool completed_handshake() const { |
| 85 return next_state_ == STATE_COMPLETED_HANDSHAKE; | 84 return next_state_ == STATE_COMPLETED_HANDSHAKE; |
| 86 } | 85 } |
| 87 | 86 |
| 88 // Initializes the SSL options and security context. Returns a net error code. | 87 // Initializes the SSL options and security context. Returns a net error code. |
| 89 int InitializeSSLContext(); | 88 int InitializeSSLContext(); |
| 90 | 89 |
| 91 void OnHandshakeIOComplete(int result); | 90 void OnHandshakeIOComplete(int result); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 107 int DoPayloadWrite(); | 106 int DoPayloadWrite(); |
| 108 int DoPayloadWriteComplete(int result); | 107 int DoPayloadWriteComplete(int result); |
| 109 int DoCompletedRenegotiation(int result); | 108 int DoCompletedRenegotiation(int result); |
| 110 | 109 |
| 111 int DidCallInitializeSecurityContext(); | 110 int DidCallInitializeSecurityContext(); |
| 112 int DidCompleteHandshake(); | 111 int DidCompleteHandshake(); |
| 113 void DidCompleteRenegotiation(); | 112 void DidCompleteRenegotiation(); |
| 114 void LogConnectionTypeMetrics() const; | 113 void LogConnectionTypeMetrics() const; |
| 115 void FreeSendBuffer(); | 114 void FreeSendBuffer(); |
| 116 | 115 |
| 117 // Internal callbacks as async operations complete. | |
| 118 OldCompletionCallbackImpl<SSLClientSocketWin> handshake_io_callback_; | |
| 119 OldCompletionCallbackImpl<SSLClientSocketWin> read_callback_; | |
| 120 OldCompletionCallbackImpl<SSLClientSocketWin> write_callback_; | |
| 121 | |
| 122 scoped_ptr<ClientSocketHandle> transport_; | 116 scoped_ptr<ClientSocketHandle> transport_; |
| 123 HostPortPair host_and_port_; | 117 HostPortPair host_and_port_; |
| 124 SSLConfig ssl_config_; | 118 SSLConfig ssl_config_; |
| 125 | 119 |
| 126 // User function to callback when the Connect() completes. | 120 // User function to callback when the Connect() completes. |
| 127 OldCompletionCallback* old_user_connect_callback_; | |
| 128 CompletionCallback user_connect_callback_; | 121 CompletionCallback user_connect_callback_; |
| 129 | 122 |
| 130 // User function to callback when a Read() completes. | 123 // User function to callback when a Read() completes. |
| 131 OldCompletionCallback* old_user_read_callback_; | |
| 132 CompletionCallback user_read_callback_; | 124 CompletionCallback user_read_callback_; |
| 133 scoped_refptr<IOBuffer> user_read_buf_; | 125 scoped_refptr<IOBuffer> user_read_buf_; |
| 134 int user_read_buf_len_; | 126 int user_read_buf_len_; |
| 135 | 127 |
| 136 // User function to callback when a Write() completes. | 128 // User function to callback when a Write() completes. |
| 137 OldCompletionCallback* user_write_callback_; | 129 CompletionCallback user_write_callback_; |
| 138 scoped_refptr<IOBuffer> user_write_buf_; | 130 scoped_refptr<IOBuffer> user_write_buf_; |
| 139 int user_write_buf_len_; | 131 int user_write_buf_len_; |
| 140 | 132 |
| 141 // Used to Read and Write using transport_. | 133 // Used to Read and Write using transport_. |
| 142 scoped_refptr<IOBuffer> transport_read_buf_; | 134 scoped_refptr<IOBuffer> transport_read_buf_; |
| 143 scoped_refptr<IOBuffer> transport_write_buf_; | 135 scoped_refptr<IOBuffer> transport_write_buf_; |
| 144 | 136 |
| 145 enum State { | 137 enum State { |
| 146 STATE_NONE, | 138 STATE_NONE, |
| 147 STATE_HANDSHAKE_READ, | 139 STATE_HANDSHAKE_READ, |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 | 200 |
| 209 // True when the decrypter needs more data in order to decrypt. | 201 // True when the decrypter needs more data in order to decrypt. |
| 210 bool need_more_data_; | 202 bool need_more_data_; |
| 211 | 203 |
| 212 BoundNetLog net_log_; | 204 BoundNetLog net_log_; |
| 213 }; | 205 }; |
| 214 | 206 |
| 215 } // namespace net | 207 } // namespace net |
| 216 | 208 |
| 217 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_WIN_H_ | 209 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_WIN_H_ |
| OLD | NEW |