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

Issue 355573007: Land Recent QUIC Changes. (Closed)

Created:
6 years, 5 months ago by ramant (doing other things)
Modified:
6 years, 5 months ago
Reviewers:
wtc, Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org, dmz, Jana, jar (doing other things), alyssar, avd, Ian Swett, Robbie Shade
Project:
chromium
Visibility:
Public.

Description

Land Recent QUIC Changes. Deleted unneeded enums from HandshakeFailureReason. Updated the comments for enums. Replaced CLIENT_NONCE_UNKNOWN_FAILURE with CLIENT_NONCE_INVALID_FAILURE. In CL: 69888738, replaced usage of CLIENT_NONCE_UNKNOWN_FAILURE with the correct reason. Fixed comments from wtc in CLs: 69773346, 69963869 Minor cleanup of code. Merge internal change: 70135161 https://codereview.chromium.org/359823002/ Clarifying comment in quic_sent_packet_manager.h Merge internal change: 70122967 https://codereview.chromium.org/335463009/ Simplify the QuicDispatcher::OnCanWrite logic Before a refactoring, connections used to be able to add themselves to QuicDispatcher::write_blocked_list_ even when they weren't write-blocked, making it necessary to give each connection only one attempt to write. However, this is no longer the case. Thus, the QuicDispatcher::OnCanWrite can now simply keep going until either no work is left or a connection gets write-blocked, and it's guaranteed that no connection will come up twice (since if it gets added back to write_blocked_list_, it is now blocked and the loop terminates). I've added a longer explanatory comment and inserted a stronger check to make sure the condition holds. Simplify QuicDispatcher::OnCanWrite logic Most of the changes were already in net/quic/quic_dispatcher.*. Merged missing changes. Merge internal change: 70043318 https://codereview.chromium.org/359653003/ Repair the CWND reduction caused by spurious RTO's in QUIC's congestion control. Merge internal change: 70033195 https://codereview.chromium.org/352403002/ Minor change - subtract 1 from reject reason before left shifting while recording in UMA histogram (more over UMA we can not track 2147483648). Merge internal change: 69982953 https://codereview.chromium.org/337263004/ Renumber HandshakeFailureReason enums so that there are no big gaps. Changed quic_crypto_client_config.cc to just left shift the reject reason before uploading the reject reasons to UMA. Thanks rch for the suggestion. Deleted RejectReasonToPackedError and the unit tests for that method. Minor cleanup of code. Merge internal change: 69963869 https://codereview.chromium.org/345563009/ Killing off quic V17. Not flag protected. Merge internal change: 69929257 https://codereview.chromium.org/350973003/ Adds an internal server and chromium's flag for disabling/enabling FEC protection, and control of FEC policy using client-specified tags. Internal server's flag can be used for enabling/disabling FEC protection. For FEC protection to be used, client has to request protection through the config in the CHLO. Only one tag is currently specified (kHDR, which maps to FEC protection for the headers and crypto streams), but the plan is to introduce at least one more tag soon (kHED, which will map to FEC protection for the headers and crypto streams and also the heads of all other streams.). These tags map to overall FEC configs, and the plan is to try out configs via finch. Disabled FLAGS_enable_quic_fec flag in chromium. Will enable in a separate CL after talking with jri. Merge internal change: 69898759 https://codereview.chromium.org/351133002/ Move HandshakeFailureReason from quic_crypto_server_config.h into crypto_handshake.h because it is shared with quic_crypto_client_config.h (per review comments from wtc). Minor cleanup of the code. Merge internal change: 69895742 https://codereview.chromium.org/354943002/ Fix QUIC's SendAlgorithmSimulator to fix an off by 1 error in the buffer size calculation, allowing packets to be sent faster than the simulated bandwidth. Merge internal change: 69885161 https://codereview.chromium.org/350733006/ QUIC - Merging internal changes to pack reject reason. These changes will be redone in the merge CLs: 69895742, 69982953, 69963869 Merge internal change: 69862576 https://codereview.chromium.org/349513004/ R=rch@chromium.org, wtc@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=280647

Patch Set 1 #

Patch Set 2 : Rebase and undid changes to net/quic/quic_server_session.cc #

Patch Set 3 : added NET_EXPORT_PRIVATE for ContainsQuicTag #

Unified diffs Side-by-side diffs Delta from patch set Stats (+517 lines, -173 lines) Patch
M net/quic/congestion_control/fix_rate_sender.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/congestion_control/fix_rate_sender.cc View 1 chunk +3 lines, -1 line 0 comments Download
M net/quic/congestion_control/pacing_sender.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/congestion_control/pacing_sender.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/congestion_control/rtt_stats.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/congestion_control/rtt_stats.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M net/quic/congestion_control/rtt_stats_test.cc View 1 chunk +19 lines, -1 line 0 comments Download
M net/quic/congestion_control/send_algorithm_interface.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/congestion_control/send_algorithm_simulator.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender.h View 2 chunks +7 lines, -0 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender.cc View 2 chunks +20 lines, -4 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender_test.cc View 3 chunks +23 lines, -2 lines 0 comments Download
M net/quic/crypto/crypto_handshake.h View 1 chunk +58 lines, -0 lines 0 comments Download
M net/quic/crypto/crypto_protocol.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/crypto/crypto_server_test.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config.cc View 1 chunk +9 lines, -1 line 0 comments Download
M net/quic/crypto/quic_crypto_server_config.h View 1 chunk +0 lines, -40 lines 0 comments Download
M net/quic/crypto/quic_crypto_server_config.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_client_session_base.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/quic_client_session_base.cc View 2 chunks +17 lines, -0 lines 0 comments Download
M net/quic/quic_config.h View 2 chunks +5 lines, -1 line 0 comments Download
M net/quic/quic_config.cc View 3 chunks +11 lines, -2 lines 0 comments Download
M net/quic/quic_config_test.cc View 2 chunks +3 lines, -1 line 0 comments Download
M net/quic/quic_connection.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_connection_stats.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_connection_stats.cc View 2 chunks +3 lines, -1 line 0 comments Download
M net/quic/quic_connection_test.cc View 10 chunks +16 lines, -21 lines 0 comments Download
M net/quic/quic_data_stream_test.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M net/quic/quic_dispatcher.h View 2 chunks +2 lines, -3 lines 0 comments Download
M net/quic/quic_dispatcher.cc View 2 chunks +12 lines, -5 lines 0 comments Download
M net/quic/quic_flags.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_flags.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M net/quic/quic_flow_controller.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_framer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_framer_test.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_headers_stream.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_packet_creator.h View 1 chunk +1 line, -2 lines 0 comments Download
M net/quic/quic_packet_creator.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_packet_creator_test.cc View 2 chunks +6 lines, -5 lines 0 comments Download
M net/quic/quic_protocol.h View 1 2 4 chunks +5 lines, -3 lines 0 comments Download
M net/quic/quic_protocol.cc View 3 chunks +1 line, -4 lines 0 comments Download
M net/quic/quic_protocol_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_sent_packet_manager.h View 1 chunk +7 lines, -1 line 0 comments Download
M net/quic/quic_sent_packet_manager.cc View 4 chunks +25 lines, -6 lines 0 comments Download
M net/quic/quic_sent_packet_manager_test.cc View 4 chunks +16 lines, -4 lines 0 comments Download
M net/quic/quic_server_session.h View 2 2 chunks +4 lines, -1 line 0 comments Download
M net/quic/quic_server_session.cc View 2 2 chunks +13 lines, -0 lines 0 comments Download
M net/quic/quic_session.h View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_session.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_session_test.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M net/quic/quic_unacked_packet_map.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/quic_unacked_packet_map.cc View 1 chunk +17 lines, -0 lines 0 comments Download
M net/quic/reliable_quic_stream.h View 2 chunks +3 lines, -2 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/tools/quic/end_to_end_test.cc View 6 chunks +51 lines, -10 lines 0 comments Download
M net/tools/quic/quic_client_session_test.cc View 3 chunks +24 lines, -0 lines 0 comments Download
M net/tools/quic/quic_dispatcher.h View 2 chunks +2 lines, -3 lines 0 comments Download
M net/tools/quic/quic_dispatcher.cc View 2 chunks +13 lines, -14 lines 0 comments Download
M net/tools/quic/quic_dispatcher_test.cc View 2 chunks +1 line, -2 lines 0 comments Download
M net/tools/quic/quic_server_session.h View 2 chunks +4 lines, -1 line 0 comments Download
M net/tools/quic/quic_server_session.cc View 1 2 2 chunks +13 lines, -0 lines 0 comments Download
M net/tools/quic/quic_server_session_test.cc View 3 chunks +25 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_dispatcher_peer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_dispatcher_peer.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_utils.h View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 12 (0 generated)
ramant (doing other things)
6 years, 5 months ago (2014-06-27 23:28:59 UTC) #1
ramant (doing other things)
Hi Wan-Teh, This is the merged CL of list of CLs (in the description, there ...
6 years, 5 months ago (2014-06-27 23:37:30 UTC) #2
Ryan Hamilton
lgtm
6 years, 5 months ago (2014-06-28 00:19:11 UTC) #3
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 5 months ago (2014-06-29 03:00:17 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/355573007/40001
6 years, 5 months ago (2014-06-29 03:00:30 UTC) #5
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_chromeos_clang_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-06-29 03:09:24 UTC) #6
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-06-29 03:17:16 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_clang_dbg on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/linux_chromium_clang_dbg/builds/39049)
6 years, 5 months ago (2014-06-29 03:17:18 UTC) #8
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 5 months ago (2014-06-30 15:34:17 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/355573007/60001
6 years, 5 months ago (2014-06-30 15:34:44 UTC) #10
commit-bot: I haz the power
Change committed as 280647
6 years, 5 months ago (2014-06-30 19:48:26 UTC) #11
wtc
6 years, 5 months ago (2014-07-08 18:03:30 UTC) #12
Message was sent while issue was closed.
net/quic/crypto in patch set 3 LGTM.

Powered by Google App Engine
This is Rietveld 408576698