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

Issue 2322233004: Landing Recent QUIC changes until Sun Sep 4 03:41:00 (Closed)

Created:
4 years, 3 months ago by ianswett
Modified:
4 years, 3 months ago
Reviewers:
Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Landing Recent QUIC changes until Sun Sep 4 03:41:00 Update flags and remove obsolete flags. https://codereview.chromium.org/2322413002/ Add missing files from change 132003062. Make QuicSpdyStream::FinishedReadingHeaders public. No behavior change. Merge internal change: 132110522 https://codereview.chromium.org/2320153004/ Log error code for write errors in QuicConnection. Merge internal change: 132094355 https://codereview.chromium.org/2320083005/ Fix two TSAN bugs exposed when running with -c opt: 1) Pause the server thread before accessing the SentPacketManager 2) Make the QuicInMemoryCache threadsafe wrt. adding/reading responses. n/a (test only) Merge internal change: 132080861 https://codereview.chromium.org/2327743004/ Refactor QuicCryptoServerStream. Rather than tying the crypto server stream to SPDY, provide an interface for implementing the load-balancing it's trying to perform so that other (e.g. P2P) clients can utilize it without adopting SPDY in any way. Non-functional refactor to remove dependance on QuicSpdySession from QuicCryptoServerStream. Merge internal change: 132003062 https://codereview.chromium.org/2326073002/ Move StatelessRejector to a heap-allocated model Note that this CL does not actually change any functionality, and several pieces necessary for supporting a fully async ValidateClientHello are missing. Those will come in a follow-up CL - this change aims simply to change the shape of the code so that later changes will be easier to understand. Merge internal change: 131961330 https://codereview.chromium.org/2319933003/ Deprecate FLAGS_quic_never_write_unencrypted_data now that the unit tests all pass. Merge internal change: 131901007 https://codereview.chromium.org/2325803002/ Disable QUIC versions 33 and earlier, protected by FLAGS_quic_disable_pre_34. Merge internal change: 131866795 https://codereview.chromium.org/2323933003/ Move encrypted_buffer into QuicPacketCreator::CreateAndSerializeStreamFrame. No functional change. Not flag protected. Merge internal change: 131823093 https://codereview.chromium.org/2326723004/ This CL adds GFE token binding support for QUIC, similar to what was added for HTTPS and SPDY. Adds GFE token binding support for QUIC. Merge internal change: 131797154 https://codereview.chromium.org/2328433006/ Implement an event-based simulator for QuicConnection The simulator is meant to be used in a situations where the full logic of connection control (congestion control, loss detection, retransmission policy, ack policy) is required to properly test a scenario and an isolated unit test would risk of making unrealistic assumptions or would require too much machinery to drive. Merge internal change: 131774129 https://codereview.chromium.org/2323963002/ Downgrade QUIC flow control violation ERROR log to DLOG(INFO). This can be triggered by client input, shouldn't be an ERROR. Merge internal change: 131710862 https://codereview.chromium.org/2319103002/ Allow IP migration. Merge internal change: 131633643 https://codereview.chromium.org/2316193002/ Clean up connection when a public reset packet is received. Merge internal change: 131623443 https://codereview.chromium.org/2319013003/ Minor refactoring in QuicDispatcher. No functional change, not flag-protected. Merge internal change: 131614693 https://codereview.chromium.org/2318773002/ Deprecate FLAGS_quic_loss_recovery_use_largest_acked. Merge internal change: 131603887 https://codereview.chromium.org/2310273002/ Fix all Performance and Bug-Prone patterns in quic/core. No functional change. Not flag protected. This will probably have absolutely no impact on performance, but makes the ClangTidy layers in codesearch a lot less noisy. Merge internal change: 131588752 https://codereview.chromium.org/2314863003/ R=rch@chromium.org BUG= Committed: https://crrev.com/6c7b7ed8dab9b69224a35140ade8e32256c7d1a8 Cr-Commit-Position: refs/heads/master@{#418335}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix comments from rch@. #

Patch Set 3 : Add the congestion control simulation to the build and fix compilation errors. #

Patch Set 4 : Disable QuicEndpointTests because they fail, but otherwise the congestion control simulation is unu… #

Patch Set 5 : Fix include orders and add a copyright. #

Patch Set 6 : git cl format net #

Patch Set 7 : Fix include orders and net.gypi to include a missing file. #

Total comments: 1

Patch Set 8 : Fix include order in simulator_test.cc. #

Patch Set 9 : Remove crypto_test_utils_openssl.h. #

Patch Set 10 : Use the default copy constructor for Packet. #

Patch Set 11 : Use the default copy constructor for Packet. #

Patch Set 12 : Use the default copy constructor for Packet. #

Patch Set 13 : Change DLOG(INFO) to DVLOG(1). #

Patch Set 14 : Remove an assignment from within a while loop, which is unsupported on Windows. #

Patch Set 15 : Add NET_EXPORT_PRIVATE to QuicDefaultPacketWriter. #

Patch Set 16 : Fix implicit double to float conversions in simulator_test.cc #

Patch Set 17 : Another fix for simulator_test.cc. #

Patch Set 18 : Remove simulation files from the build. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2979 lines, -425 lines) Patch
M net/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M net/net.gyp View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/core/congestion_control/general_loss_algorithm.cc View 5 chunks +4 lines, -8 lines 0 comments Download
M net/quic/core/congestion_control/general_loss_algorithm_test.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/core/congestion_control/send_algorithm_simulator.cc View 1 chunk +1 line, -1 line 0 comments Download
A net/quic/core/congestion_control/simulation/README.md View 1 chunk +98 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/actor.h View 1 2 1 chunk +67 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/actor.cc View 1 1 chunk +29 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/alarm_factory.h View 1 2 1 chunk +39 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/alarm_factory.cc View 1 2 1 chunk +82 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/link.h View 1 2 1 chunk +100 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/link.cc View 1 2 1 chunk +116 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/port.h View 1 2 1 chunk +66 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/port.cc View 1 2 3 4 5 6 7 8 9 1 chunk +21 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/queue.h View 1 2 1 chunk +59 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/queue.cc View 1 2 1 chunk +64 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/quic_endpoint.h View 1 2 1 chunk +158 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/quic_endpoint.cc View 1 2 3 4 1 chunk +264 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/quic_endpoint_test.cc View 1 2 3 4 1 chunk +142 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/simulator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +112 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/simulator.cc View 1 2 3 4 1 chunk +118 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/simulator_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +531 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/switch.h View 1 2 1 chunk +81 lines, -0 lines 0 comments Download
A net/quic/core/congestion_control/simulation/switch.cc View 1 2 3 4 5 1 chunk +87 lines, -0 lines 0 comments Download
M net/quic/core/crypto/crypto_server_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/core/quic_bandwidth.h View 1 chunk +6 lines, -0 lines 0 comments Download
M net/quic/core/quic_client_promised_info.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/core/quic_client_promised_info_test.cc View 4 chunks +5 lines, -6 lines 0 comments Download
M net/quic/core/quic_connection.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M net/quic/core/quic_connection_test.cc View 1 2 3 4 5 6 7 8 9 10 13 chunks +41 lines, -20 lines 0 comments Download
M net/quic/core/quic_crypto_client_stream_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/core/quic_crypto_server_stream.h View 3 chunks +27 lines, -2 lines 0 comments Download
M net/quic/core/quic_crypto_server_stream.cc View 4 chunks +7 lines, -9 lines 0 comments Download
M net/quic/core/quic_flags_list.h View 1 2 3 4 5 6 7 8 9 10 5 chunks +6 lines, -17 lines 0 comments Download
M net/quic/core/quic_flow_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -4 lines 0 comments Download
M net/quic/core/quic_packet_creator.h View 1 chunk +4 lines, -6 lines 0 comments Download
M net/quic/core/quic_packet_creator.cc View 3 chunks +4 lines, -5 lines 0 comments Download
M net/quic/core/quic_packet_creator_test.cc View 21 chunks +37 lines, -35 lines 0 comments Download
M net/quic/core/quic_packet_generator.cc View 1 chunk +1 line, -2 lines 0 comments Download
M net/quic/core/quic_packet_generator_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/core/quic_protocol.h View 3 chunks +7 lines, -2 lines 0 comments Download
M net/quic/core/quic_protocol.cc View 1 2 3 4 5 3 chunks +8 lines, -1 line 0 comments Download
M net/quic/core/quic_protocol_test.cc View 1 1 chunk +87 lines, -4 lines 0 comments Download
M net/quic/core/quic_sent_packet_manager.cc View 4 chunks +6 lines, -9 lines 0 comments Download
M net/quic/core/quic_sent_packet_manager_test.cc View 4 chunks +1 line, -46 lines 0 comments Download
M net/quic/core/quic_server_session_base.h View 4 chunks +13 lines, -28 lines 0 comments Download
M net/quic/core/quic_server_session_base.cc View 2 chunks +1 line, -13 lines 0 comments Download
M net/quic/core/quic_server_session_base_test.cc View 1 2 3 4 5 6 chunks +11 lines, -8 lines 0 comments Download
M net/quic/core/quic_session_test.cc View 4 chunks +6 lines, -3 lines 0 comments Download
M net/quic/core/quic_spdy_stream.h View 2 chunks +3 lines, -3 lines 0 comments Download
M net/quic/core/quic_utils.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/core/quic_utils_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/core/reliable_quic_stream.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M net/quic/test_tools/mock_quic_dispatcher.h View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/test_tools/mock_quic_dispatcher.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 2 chunks +8 lines, -4 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.cc View 2 chunks +17 lines, -1 line 0 comments Download
M net/tools/quic/chlo_extractor.h View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/end_to_end_test.cc View 4 chunks +6 lines, -3 lines 0 comments Download
M net/tools/quic/quic_default_packet_writer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_dispatcher.h View 1 2 3 4 7 chunks +27 lines, -9 lines 0 comments Download
M net/tools/quic/quic_dispatcher.cc View 1 2 3 4 5 6 12 chunks +103 lines, -42 lines 0 comments Download
M net/tools/quic/quic_dispatcher_test.cc View 1 2 3 4 5 7 chunks +15 lines, -8 lines 0 comments Download
M net/tools/quic/quic_in_memory_cache.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/tools/quic/quic_in_memory_cache.cc View 1 2 3 4 5 8 chunks +24 lines, -3 lines 0 comments Download
M net/tools/quic/quic_per_connection_packet_writer.h View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_server.cc View 1 2 3 4 2 chunks +3 lines, -3 lines 0 comments Download
M net/tools/quic/quic_server_test.cc View 4 chunks +7 lines, -6 lines 0 comments Download
A + net/tools/quic/quic_simple_crypto_server_stream_helper.h View 2 chunks +9 lines, -8 lines 0 comments Download
A net/tools/quic/quic_simple_crypto_server_stream_helper.cc View 1 2 3 4 5 1 chunk +28 lines, -0 lines 0 comments Download
M net/tools/quic/quic_simple_dispatcher.h View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_simple_dispatcher.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_simple_server.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_simple_server_session.h View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_simple_server_session.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_simple_server_session_helper.h View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_simple_server_session_helper_test.cc View 1 2 3 4 1 chunk +4 lines, -4 lines 0 comments Download
M net/tools/quic/quic_simple_server_session_test.cc View 6 chunks +17 lines, -12 lines 0 comments Download
M net/tools/quic/quic_simple_server_stream_test.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_simple_server_test.cc View 2 chunks +2 lines, -1 line 0 comments Download
M net/tools/quic/quic_time_wait_list_manager.h View 2 chunks +2 lines, -0 lines 0 comments Download
M net/tools/quic/stateless_rejector.h View 5 chunks +21 lines, -4 lines 0 comments Download
M net/tools/quic/stateless_rejector.cc View 7 chunks +37 lines, -19 lines 0 comments Download
M net/tools/quic/stateless_rejector_test.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +58 lines, -27 lines 0 comments Download
M net/tools/quic/test_tools/mock_quic_server_session_visitor.h View 3 chunks +7 lines, -4 lines 0 comments Download
M net/tools/quic/test_tools/mock_quic_server_session_visitor.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/tools/quic/test_tools/quic_dispatcher_peer.h View 1 chunk +6 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_dispatcher_peer.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_server.h View 2 chunks +2 lines, -2 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_server.cc View 1 2 3 4 5 chunks +6 lines, -6 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 61 (54 generated)
ianswett
4 years, 3 months ago (2016-09-09 19:19:21 UTC) #1
Ryan Hamilton
https://codereview.chromium.org/2322233004/diff/1/net/BUILD.gn File net/BUILD.gn (right): https://codereview.chromium.org/2322233004/diff/1/net/BUILD.gn#newcode1180 net/BUILD.gn:1180: "tools/quic/quic_simple_crypto_server_stream_helper.h", Please update net.gyp as well. Also, I don't ...
4 years, 3 months ago (2016-09-09 19:52:29 UTC) #2
Ryan Hamilton
lgtm, mod one question https://codereview.chromium.org/2322233004/diff/1/net/BUILD.gn File net/BUILD.gn (right): https://codereview.chromium.org/2322233004/diff/1/net/BUILD.gn#newcode1180 net/BUILD.gn:1180: "tools/quic/quic_simple_crypto_server_stream_helper.h", On 2016/09/09 19:52:26, Ryan ...
4 years, 3 months ago (2016-09-12 13:54:02 UTC) #19
ianswett
On 2016/09/12 13:54:02, Ryan Hamilton wrote: > lgtm, mod one question > > https://codereview.chromium.org/2322233004/diff/1/net/BUILD.gn > ...
4 years, 3 months ago (2016-09-12 13:57:34 UTC) #20
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/2322233004/340001
4 years, 3 months ago (2016-09-13 16:57:25 UTC) #58
commit-bot: I haz the power
Committed patchset #18 (id:340001)
4 years, 3 months ago (2016-09-13 19:35:54 UTC) #59
commit-bot: I haz the power
4 years, 3 months ago (2016-09-13 19:38:01 UTC) #61
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/6c7b7ed8dab9b69224a35140ade8e32256c7d1a8
Cr-Commit-Position: refs/heads/master@{#418335}

Powered by Google App Engine
This is Rietveld 408576698