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

Issue 330333006: Land Recent QUIC Changes. (Closed)

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

Description

Land Recent QUIC Changes. Trying to merge as many of flow control changes as possible before the branch (we have all changed until Fri 06/13 21:20 UTC). Test tools for udp proxying. This involves a few refactors of test tools but nothing which affects the internal server. minor refactors to allow quic udp proxy testing. Merge internal change: 69157651 https://codereview.chromium.org/331963002/ Added FEC policy per stream, which is translated to an FEC protection value on writes further on down. Merge internal change: 69153464 https://codereview.chromium.org/338623002/ Pull out stream/session updates from OnConfigNegotiated. Preparation for updating stream/session with different received windows. QUIC refector: Pull out stream/session updates from OnConfigNegotiated Merge internal change: 69106467 https://codereview.chromium.org/337723003/ Rather than passing initial_flow_control_window all the way down the call stack, put it inside QuicConfig as intended: each member of QuicConfig has a "value to send" field, so populate this at the top level. rtenneti: when porting to Chromium, you should add config.SetInitialFlowControlWindowToSend(kInitialReceiveWindowSize) in QuicStreamFactory::CreateSession, just above line 837: *session = new QuicClientSession(...) Store initial flow control window for QUIC in QuicConfig. No behavior change intended. Added the following unit tests to EndToEndTest.cc + DoNotSetResumeWriteAlarmIfConnectionFlowControlBlocked + NegotiateMaxOpenStreams Merge internal change: 69079363 https://codereview.chromium.org/333803007/ First version of a QUIC SendAlgorithmSimulator which is designed to simulate BBR and TCP flows and changes. Merge internal change: 69035927 https://codereview.chromium.org/330163003/ R=rch@chromium.org, wtc@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277959

Patch Set 1 #

Total comments: 19

Patch Set 2 : Fixed wtc's comments for Patch Set 1 #

Total comments: 5

Patch Set 3 : fixed compiler error #

Total comments: 2

Patch Set 4 : Deleted not needed NET_EXPORT_PRIVATE and fixed wtc's comments #

Patch Set 5 : Merge with TOT #

Patch Set 6 : fix linus_tsan error - reverted the change to ConnectionMigrationClientPortChanged unitttest #

Unified diffs Side-by-side diffs Delta from patch set Stats (+884 lines, -373 lines) Patch
M net/net.gypi View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
A net/quic/congestion_control/send_algorithm_simulator.h View 1 2 3 1 chunk +133 lines, -0 lines 0 comments Download
A net/quic/congestion_control/send_algorithm_simulator.cc View 1 2 3 1 chunk +273 lines, -0 lines 0 comments Download
M net/quic/crypto/channel_id.h View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/crypto/crypto_server_test.cc View 2 chunks +2 lines, -33 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config.h View 2 chunks +0 lines, -4 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config.cc View 2 chunks +0 lines, -4 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config_test.cc View 3 chunks +0 lines, -6 lines 0 comments Download
M net/quic/crypto/quic_crypto_server_config.h View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/crypto/quic_crypto_server_config.cc View 2 chunks +0 lines, -4 lines 0 comments Download
M net/quic/quic_client_session.h View 1 chunk +0 lines, -2 lines 0 comments Download
M net/quic/quic_client_session.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M net/quic/quic_client_session_base.h View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_client_session_base.cc View 1 1 chunk +1 line, -4 lines 0 comments Download
M net/quic/quic_client_session_test.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M net/quic/quic_config.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/quic_config.cc View 2 chunks +13 lines, -1 line 0 comments Download
M net/quic/quic_config_test.cc View 8 chunks +26 lines, -0 lines 0 comments Download
M net/quic/quic_crypto_client_stream.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_crypto_server_stream.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_dispatcher.h View 1 2 3 4 3 chunks +1 line, -10 lines 0 comments Download
M net/quic/quic_dispatcher.cc View 1 2 3 4 3 chunks +2 lines, -5 lines 0 comments Download
M net/quic/quic_end_to_end_unittest.cc View 3 chunks +8 lines, -4 lines 0 comments Download
M net/quic/quic_framer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_headers_stream.cc View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_http_stream_test.cc View 1 chunk +1 line, -2 lines 0 comments Download
M net/quic/quic_protocol.h View 1 1 chunk +7 lines, -1 line 0 comments Download
M net/quic/quic_protocol.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_received_packet_manager_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_server_session.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_server_session.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M net/quic/quic_session.h View 1 4 chunks +9 lines, -10 lines 0 comments Download
M net/quic/quic_session.cc View 1 3 chunks +35 lines, -31 lines 0 comments Download
M net/quic/quic_session_test.cc View 10 chunks +22 lines, -40 lines 0 comments Download
M net/quic/quic_stream_factory.cc View 2 chunks +2 lines, -1 line 0 comments Download
M net/quic/reliable_quic_stream.h View 3 chunks +8 lines, -0 lines 0 comments Download
M net/quic/reliable_quic_stream.cc View 1 4 chunks +8 lines, -4 lines 0 comments Download
M net/quic/reliable_quic_stream_test.cc View 1 1 chunk +72 lines, -0 lines 0 comments Download
M net/quic/test_tools/crypto_test_utils_chromium.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/test_tools/mock_quic_dispatcher.cc View 1 2 3 4 1 chunk +1 line, -5 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 1 chunk +19 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.cc View 6 chunks +17 lines, -8 lines 0 comments Download
M net/quic/test_tools/reliable_quic_stream_peer.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/test_tools/reliable_quic_stream_peer.cc View 2 chunks +6 lines, -2 lines 0 comments Download
M net/tools/quic/end_to_end_test.cc View 1 2 3 4 5 12 chunks +85 lines, -19 lines 0 comments Download
M net/tools/quic/quic_client.h View 2 chunks +3 lines, -7 lines 0 comments Download
M net/tools/quic/quic_client.cc View 5 chunks +6 lines, -10 lines 0 comments Download
M net/tools/quic/quic_client_bin.cc View 1 chunk +5 lines, -1 line 0 comments Download
M net/tools/quic/quic_client_session.h View 1 chunk +0 lines, -1 line 0 comments Download
M net/tools/quic/quic_client_session.cc View 1 1 chunk +1 line, -4 lines 0 comments Download
M net/tools/quic/quic_client_session_test.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/tools/quic/quic_dispatcher.h View 3 chunks +1 line, -10 lines 0 comments Download
M net/tools/quic/quic_dispatcher.cc View 1 2 3 4 3 chunks +2 lines, -5 lines 0 comments Download
M net/tools/quic/quic_dispatcher_test.cc View 3 chunks +7 lines, -8 lines 0 comments Download
M net/tools/quic/quic_server.h View 2 chunks +13 lines, -2 lines 0 comments Download
M net/tools/quic/quic_server.cc View 4 chunks +15 lines, -14 lines 0 comments Download
M net/tools/quic/quic_server_session.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M net/tools/quic/quic_server_session.cc View 1 chunk +1 line, -2 lines 0 comments Download
M net/tools/quic/quic_server_session_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_spdy_client_stream_test.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/tools/quic/quic_spdy_server_stream_test.cc View 1 chunk +1 line, -2 lines 0 comments Download
M net/tools/quic/test_tools/mock_epoll_server.h View 1 chunk +4 lines, -4 lines 0 comments Download
M net/tools/quic/test_tools/mock_quic_dispatcher.cc View 1 chunk +1 line, -2 lines 0 comments Download
M net/tools/quic/test_tools/packet_dropping_test_writer.h View 2 chunks +2 lines, -1 line 0 comments Download
M net/tools/quic/test_tools/packet_dropping_test_writer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_client.h View 1 4 chunks +9 lines, -7 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_client.cc View 1 11 chunks +26 lines, -17 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_utils.h View 1 chunk +0 lines, -19 lines 0 comments Download
M net/tools/quic/test_tools/quic_test_utils.cc View 2 chunks +2 lines, -11 lines 0 comments Download
M net/tools/quic/test_tools/server_thread.h View 3 chunks +5 lines, -7 lines 0 comments Download
M net/tools/quic/test_tools/server_thread.cc View 3 chunks +9 lines, -13 lines 0 comments Download

Messages

Total messages: 23 (0 generated)
ramant (doing other things)
6 years, 6 months ago (2014-06-13 23:12:28 UTC) #1
ramant (doing other things)
Hi Ryan This CL is a merged CL of all the CL's you have LGTM'ed. ...
6 years, 6 months ago (2014-06-15 19:40:06 UTC) #2
wtc
Patch set 1 LGTM. Some of the changes I suggested should be made before committing ...
6 years, 6 months ago (2014-06-16 19:35:57 UTC) #3
ramant (doing other things)
Many many thanks Wan-Teh for the thorough/awesome comments. Fixed all of them and will port ...
6 years, 6 months ago (2014-06-16 21:13:53 UTC) #4
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 6 months ago (2014-06-16 21:14:01 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/330333006/20001
6 years, 6 months ago (2014-06-16 21:15:06 UTC) #6
Jana
https://codereview.chromium.org/330333006/diff/20001/net/quic/quic_protocol.h File net/quic/quic_protocol.h (right): https://codereview.chromium.org/330333006/diff/20001/net/quic/quic_protocol.h#newcode164 net/quic/quic_protocol.h:164: // Indicates FEC policy Per Wan-Teh's comment, I suggest ...
6 years, 6 months ago (2014-06-16 21:28:12 UTC) #7
wtc
Patch set 2 LGTM. https://codereview.chromium.org/330333006/diff/1/net/quic/quic_session_test.cc File net/quic/quic_session_test.cc (right): https://codereview.chromium.org/330333006/diff/1/net/quic/quic_session_test.cc#newcode122 net/quic/quic_session_test.cc:122: DefaultQuicConfig()), On 2014/06/16 21:13:53, ramant ...
6 years, 6 months ago (2014-06-16 22:05:53 UTC) #8
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 6 months ago (2014-06-16 23:46:32 UTC) #9
ramant (doing other things)
https://codereview.chromium.org/330333006/diff/20001/net/quic/congestion_control/send_algorithm_simulator.h File net/quic/congestion_control/send_algorithm_simulator.h (right): https://codereview.chromium.org/330333006/diff/20001/net/quic/congestion_control/send_algorithm_simulator.h#newcode67 net/quic/congestion_control/send_algorithm_simulator.h:67: const RttStats* rtt_stats() { return rtt_stats_; } On 2014/06/16 ...
6 years, 6 months ago (2014-06-16 23:46:53 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/330333006/40001
6 years, 6 months ago (2014-06-16 23:49:13 UTC) #11
wtc
Patch set 3 LGTM. https://codereview.chromium.org/330333006/diff/40001/net/quic/congestion_control/send_algorithm_simulator.cc File net/quic/congestion_control/send_algorithm_simulator.cc (right): https://codereview.chromium.org/330333006/diff/40001/net/quic/congestion_control/send_algorithm_simulator.cc#newcode19 net/quic/congestion_control/send_algorithm_simulator.cc:19: const net::QuicByteCount kPacketSize = 1200; ...
6 years, 6 months ago (2014-06-17 00:07:37 UTC) #12
ramant (doing other things)
https://codereview.chromium.org/330333006/diff/40001/net/quic/congestion_control/send_algorithm_simulator.cc File net/quic/congestion_control/send_algorithm_simulator.cc (right): https://codereview.chromium.org/330333006/diff/40001/net/quic/congestion_control/send_algorithm_simulator.cc#newcode19 net/quic/congestion_control/send_algorithm_simulator.cc:19: const net::QuicByteCount kPacketSize = 1200; On 2014/06/17 00:07:37, wtc ...
6 years, 6 months ago (2014-06-17 02:32:31 UTC) #13
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 6 months ago (2014-06-17 02:32:38 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/330333006/60001
6 years, 6 months ago (2014-06-17 02:34:20 UTC) #15
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-17 08:41:31 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_rel_device_ninja/builds/22962)
6 years, 6 months ago (2014-06-17 08:41:32 UTC) #17
wtc
Patch set 4 LGTM.
6 years, 6 months ago (2014-06-17 16:29:41 UTC) #18
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 6 months ago (2014-06-17 19:16:15 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/330333006/100001
6 years, 6 months ago (2014-06-17 19:18:05 UTC) #20
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 6 months ago (2014-06-17 21:22:36 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/330333006/120001
6 years, 6 months ago (2014-06-17 21:23:32 UTC) #22
commit-bot: I haz the power
6 years, 6 months ago (2014-06-18 07:02:04 UTC) #23
Message was sent while issue was closed.
Change committed as 277959

Powered by Google App Engine
This is Rietveld 408576698