diff options
author | laforge@chromium.org <laforge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-04 20:54:49 +0000 |
---|---|---|
committer | laforge@chromium.org <laforge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-04 20:54:49 +0000 |
commit | db5e2d909a38d03b013a3b581e394091079b57d4 (patch) | |
tree | 4397925f1b744aafdba43c315de691a0a484c2a2 /net/socket | |
parent | b2eb6f176ead1010c82121995b825f67020e29b3 (diff) | |
download | chromium_src-db5e2d909a38d03b013a3b581e394091079b57d4.zip chromium_src-db5e2d909a38d03b013a3b581e394091079b57d4.tar.gz chromium_src-db5e2d909a38d03b013a3b581e394091079b57d4.tar.bz2 |
Revert 24211 - Implement a readsize throttle within the TCP socket.
Add a fieldgroup trial for testing it.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/173259
TBR=mbelshe@google.com
Review URL: http://codereview.chromium.org/192027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25510 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r-- | net/socket/tcp_client_socket_win.cc | 43 |
1 files changed, 1 insertions, 42 deletions
diff --git a/net/socket/tcp_client_socket_win.cc b/net/socket/tcp_client_socket_win.cc index eeefb70..de3cac6 100644 --- a/net/socket/tcp_client_socket_win.cc +++ b/net/socket/tcp_client_socket_win.cc @@ -6,7 +6,6 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" -#include "base/field_trial.h" // for SlowStart trial #include "base/memory_debug.h" #include "base/string_util.h" #include "base/sys_info.h" @@ -119,19 +118,6 @@ class TCPClientSocketWin::Core : public base::RefCounted<Core> { scoped_refptr<IOBuffer> read_iobuffer_; scoped_refptr<IOBuffer> write_iobuffer_; - // Throttle the read size based on our current slow start state. - // Returns the throttled read size. - int ThrottleReadSize(int size) { - if (!use_slow_start_throttle_) - return size; - - if (slow_start_throttle_ < kMaxSlowStartThrottle) { - size = std::min(size, slow_start_throttle_); - slow_start_throttle_ *= 2; - } - return size; - } - private: class ReadDelegate : public base::ObjectWatcher::Delegate { public: @@ -170,41 +156,16 @@ class TCPClientSocketWin::Core : public base::RefCounted<Core> { // |write_watcher_| watches for events from Write(); base::ObjectWatcher write_watcher_; - // When doing reads from the socket, we try to mirror TCP's slow start. - // We do this because otherwise the async IO subsystem artifically delays - // returning data to the application. - static const int kInitialSlowStartThrottle = 1 * 1024; - static const int kMaxSlowStartThrottle = 32 * kInitialSlowStartThrottle; - int slow_start_throttle_; - - static bool use_slow_start_throttle_; - static bool trial_initialized_; - DISALLOW_COPY_AND_ASSIGN(Core); }; -bool TCPClientSocketWin::Core::use_slow_start_throttle_ = true; -bool TCPClientSocketWin::Core::trial_initialized_ = false; - TCPClientSocketWin::Core::Core( TCPClientSocketWin* socket) : socket_(socket), ALLOW_THIS_IN_INITIALIZER_LIST(reader_(this)), - ALLOW_THIS_IN_INITIALIZER_LIST(writer_(this)), - slow_start_throttle_(kInitialSlowStartThrottle) { + ALLOW_THIS_IN_INITIALIZER_LIST(writer_(this)) { memset(&read_overlapped_, 0, sizeof(read_overlapped_)); memset(&write_overlapped_, 0, sizeof(write_overlapped_)); - - // Initialize the AsyncSlowStart FieldTrial. - if (!trial_initialized_) { - trial_initialized_ = true; - scoped_refptr<FieldTrial> trial = new FieldTrial("AsyncSlowStart", 100); - int my_group = trial->AppendGroup("_AsyncSlowStart", 50); - trial->AppendGroup("_AsyncSlowStart_off", 50); - - // Only use the throttling if the FieldTrial is enabled. - use_slow_start_throttle_ = trial->group() == my_group; - } } TCPClientSocketWin::Core::~Core() { @@ -405,8 +366,6 @@ int TCPClientSocketWin::Read(IOBuffer* buf, DCHECK(!read_callback_); DCHECK(!core_->read_iobuffer_); - buf_len = core_->ThrottleReadSize(buf_len); - core_->read_buffer_.len = buf_len; core_->read_buffer_.buf = buf->data(); |