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

Issue 2596703002: http2: Update priorities of pushed streams (Closed)

Created:
4 years ago by Tom Bergan
Modified:
3 years, 11 months ago
Reviewers:
Bence
CC:
chromium-reviews, cbentzel+watch_chromium.org, eroman, mmenke, Randy Smith (Not in Mondays)
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

http2: Update priorities of pushed streams On receiving a PUSH_PROMISED, the pushed stream is assigned an IDLE priority because it is "speculative". When the pushed stream matches an actual request, the stream's priority is updated to match that of the request. In addition to unit tests, I tested this against a local HTTP/2 server that served the following page: <html><body> <script type="application/javascript" src="/a.js"></script> <script type="application/javascript" src="/b.js"></script> <script type="application/javascript" src="/c.js"></script> </body></html> The server was configured to push "/b.js" when serving the HTML. I verified that the server's priority tree went through the following sequence: 1. {html -> b.js}, after receiving the PUSH_PROMISE 2. {html -> a.js -> b.js}, after the preload scanner finds a.js 3. {html -> a.js -> b.js}, after the preload scanner finds b.js 4. {html -> a.js -> b.js -> c.js}, after the preload scanner finds c.js Before this change, the final priority tree would have been: {html -> {b.js, {a.js -> c.js}}} BUG=668298 R=rdsmith@chromium.org,bnc@chromium.org Review-Url: https://codereview.chromium.org/2596703002 Cr-Commit-Position: refs/heads/master@{#442770} Committed: https://chromium.googlesource.com/chromium/src/+/5d22c18a5718b6e80507a90dae35a6e0ee5a6333

Patch Set 1 #

Total comments: 27

Patch Set 2 : addressed comments #

Patch Set 3 : rebase #

Patch Set 4 : actually rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1029 lines, -423 lines) Patch
M net/http/http_network_transaction_unittest.cc View 1 2 3 4 chunks +12 lines, -6 lines 0 comments Download
M net/log/net_log_event_type_list.h View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
M net/spdy/buffered_spdy_framer.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M net/spdy/buffered_spdy_framer.cc View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
M net/spdy/http2_priority_dependencies.h View 2 chunks +35 lines, -9 lines 0 comments Download
M net/spdy/http2_priority_dependencies.cc View 1 2 chunks +121 lines, -12 lines 0 comments Download
M net/spdy/http2_priority_dependencies_unittest.cc View 1 8 chunks +135 lines, -19 lines 0 comments Download
M net/spdy/spdy_http_stream.cc View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M net/spdy/spdy_network_transaction_unittest.cc View 1 2 3 154 chunks +444 lines, -289 lines 0 comments Download
M net/spdy/spdy_session.h View 1 2 3 3 chunks +10 lines, -3 lines 0 comments Download
M net/spdy/spdy_session.cc View 1 2 3 25 chunks +88 lines, -24 lines 0 comments Download
M net/spdy/spdy_session_unittest.cc View 1 2 3 16 chunks +109 lines, -52 lines 0 comments Download
M net/spdy/spdy_stream.h View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M net/spdy/spdy_stream.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M net/spdy/spdy_stream_unittest.cc View 1 2 3 6 chunks +22 lines, -6 lines 0 comments Download
M net/spdy/spdy_test_util_common.h View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M net/spdy/spdy_test_util_common.cc View 1 2 3 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (10 generated)
Tom Bergan
Bence and Randy, PTAL when you have a chance. I'm not sure which of you ...
3 years, 11 months ago (2017-01-04 21:52:41 UTC) #1
Bence
LGTM with nits. Thank you for doing this. https://codereview.chromium.org/2596703002/diff/1/net/log/net_log_event_type_list.h File net/log/net_log_event_type_list.h (right): https://codereview.chromium.org/2596703002/diff/1/net/log/net_log_event_type_list.h#newcode1537 net/log/net_log_event_type_list.h:1537: EVENT_TYPE(HTTP2_STREAM_UPDATE_PRIORITY) ...
3 years, 11 months ago (2017-01-05 17:14:46 UTC) #2
Randy Smith (Not in Mondays)
Happy to defer to Bence on this one.
3 years, 11 months ago (2017-01-05 18:47:12 UTC) #4
Tom Bergan
https://codereview.chromium.org/2596703002/diff/1/net/log/net_log_event_type_list.h File net/log/net_log_event_type_list.h (right): https://codereview.chromium.org/2596703002/diff/1/net/log/net_log_event_type_list.h#newcode1537 net/log/net_log_event_type_list.h:1537: EVENT_TYPE(HTTP2_STREAM_UPDATE_PRIORITY) On 2017/01/05 17:14:45, Bence wrote: > I would ...
3 years, 11 months ago (2017-01-06 00:08:41 UTC) #5
Bence
Thank you, still LGTM.
3 years, 11 months ago (2017-01-06 01:09:56 UTC) #6
Tom Bergan
Thanks! FYI, I don't have committer power/
3 years, 11 months ago (2017-01-06 16:05:28 UTC) #7
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/2596703002/20001
3 years, 11 months ago (2017-01-10 18:43:42 UTC) #9
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/133170) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 11 months ago (2017-01-10 18:46:22 UTC) #11
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/2596703002/40001
3 years, 11 months ago (2017-01-10 20:43:15 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/133276) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 11 months ago (2017-01-10 20:46:06 UTC) #16
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/2596703002/60001
3 years, 11 months ago (2017-01-11 00:30:22 UTC) #19
commit-bot: I haz the power
3 years, 11 months ago (2017-01-11 02:06:10 UTC) #22
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/5d22c18a5718b6e80507a90dae35...

Powered by Google App Engine
This is Rietveld 408576698