OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_NSS_H_ | 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ |
6 #define NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ | 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <certt.h> | 9 #include <certt.h> |
10 #include <keyt.h> | 10 #include <keyt.h> |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
140 // takes ownership of the |*cert| and |*key|. | 140 // takes ownership of the |*cert| and |*key|. |
141 int ImportDBCertAndKey(CERTCertificate** cert, SECKEYPrivateKey** key); | 141 int ImportDBCertAndKey(CERTCertificate** cert, SECKEYPrivateKey** key); |
142 int DoGetDBCertComplete(int result); | 142 int DoGetDBCertComplete(int result); |
143 int DoVerifyDNSSEC(int result); | 143 int DoVerifyDNSSEC(int result); |
144 int DoVerifyCert(int result); | 144 int DoVerifyCert(int result); |
145 int DoVerifyCertComplete(int result); | 145 int DoVerifyCertComplete(int result); |
146 int DoPayloadRead(); | 146 int DoPayloadRead(); |
147 int DoPayloadWrite(); | 147 int DoPayloadWrite(); |
148 void LogConnectionTypeMetrics() const; | 148 void LogConnectionTypeMetrics() const; |
149 void SaveSSLHostInfo(); | 149 void SaveSSLHostInfo(); |
150 void UncorkAfterTimeout(); | |
wtc
2012/04/17 22:46:09
It seems that the corking code is still useful to
| |
151 | 150 |
152 bool DoTransportIO(); | 151 bool DoTransportIO(); |
153 int BufferSend(void); | 152 int BufferSend(void); |
154 void BufferSendComplete(int result); | 153 void BufferSendComplete(int result); |
155 int BufferRecv(void); | 154 int BufferRecv(void); |
156 void BufferRecvComplete(int result); | 155 void BufferRecvComplete(int result); |
157 | 156 |
158 // Handles an NSS error generated while handshaking or performing IO. | 157 // Handles an NSS error generated while handshaking or performing IO. |
159 // Returns a network error code mapped from the original NSS error. | 158 // Returns a network error code mapped from the original NSS error. |
160 int HandleNSSError(PRErrorCode error, bool handshake_error); | 159 int HandleNSSError(PRErrorCode error, bool handshake_error); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
204 unsigned int* proto_out_len, | 203 unsigned int* proto_out_len, |
205 unsigned int proto_max_len); | 204 unsigned int proto_max_len); |
206 | 205 |
207 // The following methods are for debugging bug 65948. Will remove this code | 206 // The following methods are for debugging bug 65948. Will remove this code |
208 // after fixing bug 65948. | 207 // after fixing bug 65948. |
209 void EnsureThreadIdAssigned() const; | 208 void EnsureThreadIdAssigned() const; |
210 bool CalledOnValidThread() const; | 209 bool CalledOnValidThread() const; |
211 | 210 |
212 bool transport_send_busy_; | 211 bool transport_send_busy_; |
213 bool transport_recv_busy_; | 212 bool transport_recv_busy_; |
214 // corked_ is true if we are currently suspending writes to the network. This | |
215 // is named after the similar kernel flag, TCP_CORK. | |
216 bool corked_; | |
217 // uncork_timer_ is used to limit the amount of time that we'll delay the | |
218 // Finished message while waiting for a Write. | |
219 base::OneShotTimer<SSLClientSocketNSS> uncork_timer_; | |
220 scoped_refptr<IOBuffer> recv_buffer_; | 213 scoped_refptr<IOBuffer> recv_buffer_; |
221 | 214 |
222 scoped_ptr<ClientSocketHandle> transport_; | 215 scoped_ptr<ClientSocketHandle> transport_; |
223 HostPortPair host_and_port_; | 216 HostPortPair host_and_port_; |
224 SSLConfig ssl_config_; | 217 SSLConfig ssl_config_; |
225 | 218 |
226 CompletionCallback user_connect_callback_; | 219 CompletionCallback user_connect_callback_; |
227 CompletionCallback user_read_callback_; | 220 CompletionCallback user_read_callback_; |
228 CompletionCallback user_write_callback_; | 221 CompletionCallback user_write_callback_; |
229 | 222 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
310 // Added the following code Debugging in release mode. | 303 // Added the following code Debugging in release mode. |
311 mutable base::Lock lock_; | 304 mutable base::Lock lock_; |
312 // This is mutable so that CalledOnValidThread can set it. | 305 // This is mutable so that CalledOnValidThread can set it. |
313 // It's guarded by |lock_|. | 306 // It's guarded by |lock_|. |
314 mutable base::PlatformThreadId valid_thread_id_; | 307 mutable base::PlatformThreadId valid_thread_id_; |
315 }; | 308 }; |
316 | 309 |
317 } // namespace net | 310 } // namespace net |
318 | 311 |
319 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ | 312 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_NSS_H_ |
OLD | NEW |