Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Issue 7189055: Deciding best connection to schedule requests on based on cwnd and idle time (Closed)

Created:
9 years, 6 months ago by gagansingh
Modified:
9 years, 6 months ago
CC:
chromium-reviews, jamiewalch+watch_chromium.org, hclam+watch_chromium.org, cbentzel+watch_chromium.org, simonmorris+watch_chromium.org, wez+watch_chromium.org, Paweł Hajdan Jr., dmaclach+watch_chromium.org, garykac+watch_chromium.org, lambroslambrou+watch_chromium.org, darin-cc_chromium.org, ajwong+watch_chromium.org, brettw-cc_chromium.org, sergeyu+watch_chromium.org
Visibility:
Public.

Description

Warmth of a connection (cwnd) is estimated by the amount of data written to the socket. Choosing the warmest connection would mean faster resource load times. idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=90373

Patch Set 1 #

Patch Set 2 : Uploading to google.com account #

Patch Set 3 : Syncing to head #

Patch Set 4 : Missed a file #

Patch Set 5 : Missed a file #

Patch Set 6 : More tests missing virtual functions #

Patch Set 7 : Syncing to head #

Patch Set 8 : Syncing to head aggain #

Total comments: 2

Patch Set 9 : Addressing comment by sergeyu #

Patch Set 10 : Reverting comment addressed for sergeyu :( #

Patch Set 11 : uploading again #

Patch Set 12 : fixing test and net\socket\ssl_client_socket_win.cc #

Total comments: 3

Patch Set 13 : removing another dcheck #

Total comments: 2

Patch Set 14 : syncing to head #

Patch Set 15 : syncing to head #

Total comments: 4

Patch Set 16 : added some unittests #

Patch Set 17 : added some unittests #

Patch Set 18 : forgot to add a file #

Patch Set 19 : added test for client_socket_pool_base #

Patch Set 20 : removed LogNumRttVsBytesMetrics_LastAccessSocket test till i find a way of clearing histograms #

Patch Set 21 : testing TcpClientSocketLibevent #

Patch Set 22 : syncing to head #

Patch Set 23 : changing vector<string> to StringVector because it doesnt work on windoze :( #

Patch Set 24 : changing vector<string> to StringVector because it doesnt work on windoze :( #

Patch Set 25 : uploading whatever i have #

Patch Set 26 : uploading again. stupid gcl #

Patch Set 27 : address sergeyu's comment #

Patch Set 28 : fixing browser_main_unittest.cc #

Patch Set 29 : fixing socket_test_util.cc #

Patch Set 30 : fixing tcp_client_socket_win.cc #

Patch Set 31 : fixing browser_main_unittest.cc for win #

Total comments: 8

Patch Set 32 : Addressing willchan's final comments #

Patch Set 33 : small typo #

Patch Set 34 : Reuploading because net/socket/socket_test_util.cc is bad #

Unified diffs Side-by-side diffs Delta from patch set Stats (+676 lines, -8 lines) Patch
M chrome/browser/browser_main.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +7 lines, -0 lines 0 comments Download
M chrome/browser/browser_main.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +54 lines, -0 lines 0 comments Download
A chrome/browser/browser_main_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +68 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/p2p/socket_host_test_utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +10 lines, -0 lines 0 comments Download
M jingle/glue/pseudotcp_adapter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M jingle/glue/pseudotcp_adapter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +10 lines, -0 lines 0 comments Download
M jingle/notifier/base/fake_ssl_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M jingle/notifier/base/fake_ssl_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -0 lines 0 comments Download
M jingle/notifier/base/fake_ssl_client_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M jingle/notifier/base/proxy_resolving_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M jingle/notifier/base/proxy_resolving_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +14 lines, -0 lines 0 comments Download
M net/curvecp/curvecp_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/curvecp/curvecp_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -0 lines 0 comments Download
M net/http/http_basic_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +6 lines, -0 lines 0 comments Download
M net/http/http_basic_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 5 chunks +46 lines, -0 lines 0 comments Download
M net/http/http_network_transaction.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -0 lines 0 comments Download
M net/http/http_network_transaction_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +29 lines, -0 lines 0 comments Download
M net/http/http_proxy_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/http/http_proxy_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +16 lines, -0 lines 0 comments Download
M net/http/http_response_body_drainer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -0 lines 0 comments Download
M net/http/http_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +18 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 4 chunks +43 lines, -1 line 0 comments Download
M net/socket/client_socket_pool_base_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 chunks +80 lines, -4 lines 0 comments Download
M net/socket/socket_test_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 4 chunks +7 lines, -0 lines 0 comments Download
M net/socket/socket_test_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 5 chunks +29 lines, -0 lines 0 comments Download
M net/socket/socks5_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/socks5_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +16 lines, -0 lines 0 comments Download
M net/socket/socks_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/socks_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +16 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +16 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_nss.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +16 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_win.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +16 lines, -0 lines 0 comments Download
M net/socket/ssl_server_socket_nss.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/ssl_server_socket_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -0 lines 0 comments Download
M net/socket/ssl_server_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -0 lines 0 comments Download
M net/socket/stream_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +7 lines, -0 lines 0 comments Download
M net/socket/tcp_client_socket_libevent.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 2 chunks +6 lines, -0 lines 0 comments Download
M net/socket/tcp_client_socket_libevent.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 6 chunks +14 lines, -1 line 0 comments Download
M net/socket/tcp_client_socket_win.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 2 chunks +6 lines, -0 lines 0 comments Download
M net/socket/tcp_client_socket_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 6 chunks +14 lines, -1 line 0 comments Download
M net/socket/transport_client_socket_pool_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +12 lines, -0 lines 0 comments Download
M net/socket/transport_client_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +8 lines, -1 line 0 comments Download
M net/spdy/spdy_http_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -0 lines 0 comments Download
M net/spdy/spdy_proxy_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M net/spdy/spdy_proxy_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -0 lines 0 comments Download
M remoting/jingle_glue/ssl_socket_adapter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
M remoting/jingle_glue/ssl_socket_adapter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 23 (0 generated)
willchan no longer on Chromium
LGTM
9 years, 6 months ago (2011-06-19 15:12:47 UTC) #1
commit-bot: I haz the power
Try job failure for 7189055-3006 on win for step "compile" (clobber build). It's a second ...
9 years, 6 months ago (2011-06-19 15:29:13 UTC) #2
commit-bot: I haz the power
Try job failure for 7189055-3029 on win for step "compile" (clobber build). It's a second ...
9 years, 6 months ago (2011-06-19 20:06:28 UTC) #3
commit-bot: I haz the power
Can't apply patch for file chrome/browser/browser_main.cc. While running patch -p0 --forward --force; patching file chrome/browser/browser_main.cc ...
9 years, 6 months ago (2011-06-21 05:38:08 UTC) #4
commit-bot: I haz the power
Presubmit check for 7189055-11009 failed and returned exit status 1. Running presubmit commit checks ...
9 years, 6 months ago (2011-06-21 09:35:42 UTC) #5
willchan no longer on Chromium
Adding sergeyu
9 years, 6 months ago (2011-06-21 09:38:33 UTC) #6
Sergey Ulanov
remoting/*, jingle/*, and content/browser/renderer_host/p2p/* - LGTM. http://codereview.chromium.org/7189055/diff/11009/net/socket/stream_socket.h File net/socket/stream_socket.h (right): http://codereview.chromium.org/7189055/diff/11009/net/socket/stream_socket.h#newcode86 net/socket/stream_socket.h:86: virtual int GetConnectTimeMicros() ...
9 years, 6 months ago (2011-06-21 17:25:15 UTC) #7
commit-bot: I haz the power
Can't process patch for file net/http/http_proxy_client_socket.cc. File's status is None, patchset upload is incomplete.
9 years, 6 months ago (2011-06-22 07:31:38 UTC) #8
commit-bot: I haz the power
Try job failure for 7189055-16001 on win for step "compile" (clobber build). It's a second ...
9 years, 6 months ago (2011-06-22 07:57:43 UTC) #9
commit-bot: I haz the power
Try job failure for 7189055-18008 on linux for step "net_unittests". http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux&number=33459
9 years, 6 months ago (2011-06-22 08:31:06 UTC) #10
willchan no longer on Chromium
http://codereview.chromium.org/7189055/diff/18008/net/socket/client_socket_pool_base.cc File net/socket/client_socket_pool_base.cc (right): http://codereview.chromium.org/7189055/diff/18008/net/socket/client_socket_pool_base.cc#newcode413 net/socket/client_socket_pool_base.cc:413: DCHECK_GE(num_kb, 0); Please don't just remove DCHECKs. They're there ...
9 years, 6 months ago (2011-06-22 09:18:56 UTC) #11
gagansingh
http://codereview.chromium.org/7189055/diff/18008/net/socket/client_socket_pool_base.cc File net/socket/client_socket_pool_base.cc (right): http://codereview.chromium.org/7189055/diff/18008/net/socket/client_socket_pool_base.cc#newcode413 net/socket/client_socket_pool_base.cc:413: DCHECK_GE(num_kb, 0); On 2011/06/22 09:18:57, willchan wrote: > Please ...
9 years, 6 months ago (2011-06-22 11:10:02 UTC) #12
M-A Ruel
Drive by. http://codereview.chromium.org/7189055/diff/19015/chrome/browser/browser_main.cc File chrome/browser/browser_main.cc (right): http://codereview.chromium.org/7189055/diff/19015/chrome/browser/browser_main.cc#newcode212 chrome/browser/browser_main.cc:212: void SetSocketReusePolicy(int warmest_socket_trial_group, smells like: const int* ...
9 years, 6 months ago (2011-06-22 14:53:32 UTC) #13
willchan no longer on Chromium
http://codereview.chromium.org/7189055/diff/18008/net/socket/client_socket_pool_base.cc File net/socket/client_socket_pool_base.cc (right): http://codereview.chromium.org/7189055/diff/18008/net/socket/client_socket_pool_base.cc#newcode413 net/socket/client_socket_pool_base.cc:413: DCHECK_GE(num_kb, 0); On 2011/06/22 11:10:02, gagansingh wrote: > On ...
9 years, 6 months ago (2011-06-22 18:39:03 UTC) #14
gagansingh
Hi Will Added relevant tests, am syncing and putting this on try server, will let ...
9 years, 6 months ago (2011-06-23 15:53:58 UTC) #15
gagansingh
Took some effort, but finally addressed Sergey's comment. http://codereview.chromium.org/7189055/diff/11009/net/socket/stream_socket.h File net/socket/stream_socket.h (right): http://codereview.chromium.org/7189055/diff/11009/net/socket/stream_socket.h#newcode86 net/socket/stream_socket.h:86: virtual ...
9 years, 6 months ago (2011-06-23 17:27:42 UTC) #16
gagansingh
Hi Will win_sync<http://build.chromium.org/p/tryserver.chromium/builders/win_sync/builds/3334>, linux_sync<http://build.chromium.org/p/tryserver.chromium/builders/linux_sync/builds/3600>, linux<http://build.chromium.org/p/tryserver.chromium/builders/linux/builds/33783>and mac_sync<http://build.chromium.org/p/tryserver.chromium/builders/mac_sync/builds/3282>have passed. win<http://build.chromium.org/p/tryserver.chromium/builders/win/builds/38986>and mac<http://build.chromium.org/p/tryserver.chromium/builders/mac/builds/34326>have failed, but the errors look unrelated ...
9 years, 6 months ago (2011-06-23 20:09:15 UTC) #17
willchan no longer on Chromium
Fix up these last nits and I'll send it to the commit-bot again. http://codereview.chromium.org/7189055/diff/2243/chrome/browser/browser_main_unittest.cc File ...
9 years, 6 months ago (2011-06-24 11:11:35 UTC) #18
gagansingh
http://codereview.chromium.org/7189055/diff/2243/chrome/browser/browser_main_unittest.cc File chrome/browser/browser_main_unittest.cc (right): http://codereview.chromium.org/7189055/diff/2243/chrome/browser/browser_main_unittest.cc#newcode8 chrome/browser/browser_main_unittest.cc:8: #include "chrome/browser/browser_main.h" On 2011/06/24 11:11:36, willchan wrote: > This ...
9 years, 6 months ago (2011-06-24 12:17:56 UTC) #19
commit-bot: I haz the power
Can't process patch for file net/socket/socket_test_util.cc. File's status is None, patchset upload is incomplete.
9 years, 6 months ago (2011-06-24 13:00:49 UTC) #20
gagansingh
Reuploaded the patch, looks okay now. Please try again. Thanks Gagan On Fri, Jun 24, ...
9 years, 6 months ago (2011-06-24 13:33:40 UTC) #21
commit-bot: I haz the power
Change committed as 90373
9 years, 6 months ago (2011-06-24 16:47:10 UTC) #22
gagansingh
9 years, 6 months ago (2011-06-24 17:41:37 UTC) #23
Yayy :) Thanks lots for the reviews and support guys. Lets hope this gives
us good improvements in the field.

Thanks
Gagan


On Fri, Jun 24, 2011 at 10:17 PM, <commit-bot@chromium.org> wrote:

> Change committed as 90373
>
>
>
http://codereview.chromium.**org/7189055/<http://codereview.chromium.org/7189...
>

Powered by Google App Engine
This is Rietveld 408576698