summaryrefslogtreecommitdiffstats
path: root/net/socket/ssl_client_socket_nss.h
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-08 14:48:06 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-08 14:48:06 +0000
commitfa788519ff95de908d4b3188458b29fedb68ce52 (patch)
treecb0165c7f3661f4ab87aa7b56ced70a68d68af64 /net/socket/ssl_client_socket_nss.h
parent6a47ac8d13a8a382686dc5ba1cadc64afccf10d0 (diff)
downloadchromium_src-fa788519ff95de908d4b3188458b29fedb68ce52.zip
chromium_src-fa788519ff95de908d4b3188458b29fedb68ce52.tar.gz
chromium_src-fa788519ff95de908d4b3188458b29fedb68ce52.tar.bz2
Revert Revert Revert Revert "net: uncork NSS sockets after a 200ms timeout."
Landed r61546, reverted r61546 (blameless), landed r61638, reverted r61672 (caused flakiness in SSLClientSocket tests, fixed in r61956). Relanding now. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61958 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/ssl_client_socket_nss.h')
-rw-r--r--net/socket/ssl_client_socket_nss.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/socket/ssl_client_socket_nss.h b/net/socket/ssl_client_socket_nss.h
index 7f5ee94..7b9809b 100644
--- a/net/socket/ssl_client_socket_nss.h
+++ b/net/socket/ssl_client_socket_nss.h
@@ -16,6 +16,7 @@
#include "base/scoped_ptr.h"
#include "base/time.h"
+#include "base/timer.h"
#include "net/base/cert_verify_result.h"
#include "net/base/completion_callback.h"
#include "net/base/net_log.h"
@@ -102,6 +103,7 @@ class SSLClientSocketNSS : public SSLClientSocket {
void SaveSnapStartInfo();
bool LoadSnapStartInfo(const std::string& info);
bool IsNPNProtocolMispredicted();
+ void UncorkAfterTimeout();
bool DoTransportIO();
int BufferSend(void);
@@ -130,6 +132,9 @@ class SSLClientSocketNSS : public SSLClientSocket {
// corked_ is true if we are currently suspending writes to the network. This
// is named after the similar kernel flag, TCP_CORK.
bool corked_;
+ // uncork_timer_ is used to limit the amount of time that we'll delay the
+ // Finished message while waiting for a Write.
+ base::OneShotTimer<SSLClientSocketNSS> uncork_timer_;
scoped_refptr<IOBuffer> recv_buffer_;
CompletionCallbackImpl<SSLClientSocketNSS> handshake_io_callback_;