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

Issue 2932513004: Throttle HttpStreamFactoryImpl::Job to HTTP/2-supported servers (Closed)

Created:
3 years, 6 months ago by xunjieli
Modified:
3 years, 6 months ago
Reviewers:
Bence, Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org, bnc+watch_chromium.org, net-reviews_chromium.org, Ryan Hamilton, Zhongyi Shi
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Throttle HttpStreamFactoryImpl::Job to HTTP/2-supported servers If there are multiple HttpStreamFactoryImpl::Jobs to the same HTTP/2- supported server, throttle the socket connection establishments to allow the first one to go through and then the rest. This is to reduce the number of unnecessary HTTP/2 socket connections. Design doc: https://docs.google.com/document/d/1XeAOPduGVv95_U371bmlTgg8Parp_D3QK9aEeDoMSOo/edit?usp=sharing BUG=718576 Review-Url: https://codereview.chromium.org/2932513004 Cr-Commit-Position: refs/heads/master@{#479721} Committed: https://chromium.googlesource.com/chromium/src/+/a99720924b64953e3ea601cee5086b71f1a33950

Patch Set 1 : self #

Total comments: 56

Patch Set 2 : address comments #

Total comments: 1

Patch Set 3 : self #

Total comments: 2

Patch Set 4 : fix tests #

Patch Set 5 : fix tests #

Patch Set 6 : add comment #

Patch Set 7 : fix flaky test #

Patch Set 8 : fix compile #

Patch Set 9 : fix test on windows for real #

Patch Set 10 : rebased #

Total comments: 2

Patch Set 11 : Add a comment #

Patch Set 12 : add a pair of braces #

Unified diffs Side-by-side diffs Delta from patch set Stats (+434 lines, -38 lines) Patch
M net/http/http_stream_factory_impl_job.h View 1 2 3 4 5 6 7 8 9 5 chunks +11 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_impl_job.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +51 lines, -6 lines 0 comments Download
M net/http/http_stream_factory_impl_job_controller_unittest.cc View 1 2 3 4 5 6 6 chunks +332 lines, -32 lines 0 comments Download
M net/spdy/chromium/spdy_session_pool.h View 1 2 3 4 5 6 2 chunks +13 lines, -0 lines 0 comments Download
M net/spdy/chromium/spdy_session_pool.cc View 1 2 3 4 5 6 7 8 3 chunks +27 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 52 (40 generated)
xunjieli
3 years, 6 months ago (2017-06-09 16:27:13 UTC) #13
Bence
Looking really good! https://codereview.chromium.org/2932513004/diff/170001/net/http/http_stream_factory_impl_job.cc File net/http/http_stream_factory_impl_job.cc (right): https://codereview.chromium.org/2932513004/diff/170001/net/http/http_stream_factory_impl_job.cc#newcode789 net/http/http_stream_factory_impl_job.cc:789: if (!session_->http_server_properties()->RequiresHTTP11( Please invert this condition ...
3 years, 6 months ago (2017-06-09 19:17:40 UTC) #18
Bence
BTW what is happening with HttpNetworkTransactionTest.AlternateProtocolWithSpdyLateBinding? I would expect this change to make it fail, ...
3 years, 6 months ago (2017-06-09 23:14:02 UTC) #19
Ryan Hamilton
nice! one small drive-by https://codereview.chromium.org/2932513004/diff/170001/net/http/http_stream_factory_impl_job.h File net/http/http_stream_factory_impl_job.h (right): https://codereview.chromium.org/2932513004/diff/170001/net/http/http_stream_factory_impl_job.h#newcode272 net/http/http_stream_factory_impl_job.h:272: STATE_BEFORE_INIT_CONNECTION, nit: Instead of "before ...
3 years, 6 months ago (2017-06-12 13:30:49 UTC) #21
xunjieli
Thanks! PTAL. > BTW what is happening with HttpNetworkTransactionTest.AlternateProtocolWithSpdyLateBinding? I would expect this change to ...
3 years, 6 months ago (2017-06-13 15:23:12 UTC) #23
xunjieli
Sorry, the new patch affected a couple SpdyNetworkTransactionTest. Let me figure out what's wrong and ...
3 years, 6 months ago (2017-06-13 15:46:24 UTC) #26
Bence
One more nit. https://codereview.chromium.org/2932513004/diff/170001/net/http/http_stream_factory_impl_job.cc File net/http/http_stream_factory_impl_job.cc (right): https://codereview.chromium.org/2932513004/diff/170001/net/http/http_stream_factory_impl_job.cc#newcode811 net/http/http_stream_factory_impl_job.cc:811: if (resumed_init_connection_) On 2017/06/13 15:23:10, xunjieli ...
3 years, 6 months ago (2017-06-13 16:04:51 UTC) #27
xunjieli
The tests are all passing now. PTAL. Thank you! https://codereview.chromium.org/2932513004/diff/210001/net/http/http_stream_factory_impl_job_controller_unittest.cc File net/http/http_stream_factory_impl_job_controller_unittest.cc (right): https://codereview.chromium.org/2932513004/diff/210001/net/http/http_stream_factory_impl_job_controller_unittest.cc#newcode1781 net/http/http_stream_factory_impl_job_controller_unittest.cc:1781: ...
3 years, 6 months ago (2017-06-15 13:19:27 UTC) #41
Bence
LGTM, great! https://codereview.chromium.org/2932513004/diff/350001/net/http/http_stream_factory_impl_job.cc File net/http/http_stream_factory_impl_job.cc (right): https://codereview.chromium.org/2932513004/diff/350001/net/http/http_stream_factory_impl_job.cc#newcode812 net/http/http_stream_factory_impl_job.cc:812: CHECK_EQ(next_state_, STATE_INIT_CONNECTION); Very optional: a DCHECK should ...
3 years, 6 months ago (2017-06-15 13:37:46 UTC) #42
xunjieli
Thank you. I will land this now and work on adding NetLog events for this ...
3 years, 6 months ago (2017-06-15 13:53:25 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2932513004/390001
3 years, 6 months ago (2017-06-15 14:41:35 UTC) #48
commit-bot: I haz the power
3 years, 6 months ago (2017-06-15 15:57:25 UTC) #52
Message was sent while issue was closed.
Committed patchset #12 (id:390001) as
https://chromium.googlesource.com/chromium/src/+/a99720924b64953e3ea601cee508...

Powered by Google App Engine
This is Rietveld 408576698