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

Issue 366863002: 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, Jana, wtc, jar (doing other things), alyssar, avd, Ian Swett, Robbie Shade
Project:
chromium
Visibility:
Public.

Description

Land Recent QUIC Changes. Change QUIC's pacer to allow a 10 packet burst when the connection comes out of quiescence. This is in line with the kernel's qdisc implementation. Merge internal change: 70357214 https://codereview.chromium.org/367853003/ QUIC varz to track measured and predicted bandwidth and rtt histograms for video responses for which internal streamer provided bandwidth/rtt estimates and QUIC connection has a reliable bandwidth measurement. bandwidth/rtt varz histograms for video responses served over QUIC. Not flag protected. Merge internal change: 70327906 https://codereview.chromium.org/365833002/ Add comments describing changes introduced in each QUIC version. Merge internal change: 70319561 https://codereview.chromium.org/369493002/ QUIC_VERSION_21: headers and crypto streams are now flow controlled at the stream level, but do not contribute to connection level flow control. Merge internal change: 70318947 https://codereview.chromium.org/368803003/ Added following helper methods to track successful QUIC client port migrations: + peer_port_changed() + received_packet_manager() + sequence_number_of_last_sent_packet() + largest_observed() The following is the original internal CL description: Add two varz to track successful QUIC client port migrations: peer_port_changes -- Number of times we have seen the peer's port change mid-connection. successful_peer_port_migrations -- Successful connection migrations to a new peer port. Add varz to track successful QUIC client port migrations. Protected behind existing, enabled, FLAGS_..._quic_allow_port_migration. Merge internal change: 70318257 https://codereview.chromium.org/366843002/ Test only change to improve QUIC's SendAlgorithmSimulator to support multiple transfers with different types of send algorithms at once. Intended to test BBR vs BBR and BBR vs TCP Cubic. Merge internal change: 70254014 A fix to SendAlgorithmSimulator, which was making BbrSenderTest flaky. Merge internal change: 70269655 https://codereview.chromium.org/367843002/ QUIC - added helper method config() to QuicClient. The following is the description from the internal change: Fixing a bug in the (as yet unused UDP backend picking code) where we weren't setting the configured timeout correctly. Fixing a bug in the (flag-disabled) UDP backend picking code. Merge internal change: 70239548 https://codereview.chromium.org/362873002/ R=rch@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=281079

Patch Set 1 #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+612 lines, -232 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, -0 lines 0 comments Download
M net/quic/congestion_control/pacing_sender.h View 2 chunks +9 lines, -1 line 0 comments Download
M net/quic/congestion_control/pacing_sender.cc View 6 chunks +60 lines, -33 lines 0 comments Download
M net/quic/congestion_control/pacing_sender_test.cc View 2 chunks +50 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.h View 4 chunks +94 lines, -42 lines 0 comments Download
M net/quic/congestion_control/send_algorithm_simulator.cc View 9 chunks +175 lines, -124 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_connection.h View 2 chunks +11 lines, -1 line 4 comments Download
M net/quic/quic_connection.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_crypto_stream.cc View 1 chunk +7 lines, -1 line 0 comments Download
M net/quic/quic_crypto_stream_test.cc View 2 chunks +11 lines, -2 lines 0 comments Download
M net/quic/quic_headers_stream.cc View 1 chunk +7 lines, -1 line 0 comments Download
M net/quic/quic_headers_stream_test.cc View 2 chunks +11 lines, -2 lines 0 comments Download
M net/quic/quic_protocol.h View 2 chunks +8 lines, -6 lines 2 comments Download
M net/quic/quic_protocol.cc View 2 chunks +3 lines, -0 lines 0 comments Download
M net/quic/quic_sent_packet_manager.h View 2 chunks +7 lines, -0 lines 0 comments Download
M net/quic/quic_sent_packet_manager.cc View 3 chunks +9 lines, -1 line 0 comments Download
M net/quic/quic_session.cc View 4 chunks +20 lines, -4 lines 0 comments Download
M net/quic/reliable_quic_stream.h View 2 chunks +10 lines, -0 lines 0 comments Download
M net/quic/reliable_quic_stream.cc View 6 chunks +27 lines, -11 lines 0 comments Download
M net/quic/test_tools/quic_session_peer.h View 2 chunks +2 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_session_peer.cc View 1 chunk +5 lines, -0 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/quic/test_tools/reliable_quic_stream_peer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/test_tools/reliable_quic_stream_peer.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M net/tools/quic/end_to_end_test.cc View 1 chunk +54 lines, -0 lines 0 comments Download
M net/tools/quic/quic_client.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_client_peer.h View 2 chunks +2 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_client_peer.cc View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
ramant (doing other things)
6 years, 5 months ago (2014-07-02 03:08:10 UTC) #1
ramant (doing other things)
Hi Ryan, Stopped until recent strike register changes which requires merging of earlier changes to ...
6 years, 5 months ago (2014-07-02 03:10:51 UTC) #2
Ryan Hamilton
lgtm
6 years, 5 months ago (2014-07-02 19:24:59 UTC) #3
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 5 months ago (2014-07-02 19:28:32 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/366863002/1
6 years, 5 months ago (2014-07-02 19:30:14 UTC) #5
commit-bot: I haz the power
Change committed as 281079
6 years, 5 months ago (2014-07-02 19:47:03 UTC) #6
wtc
Patch set 1 LGTM. https://codereview.chromium.org/366863002/diff/1/net/quic/quic_connection.h File net/quic/quic_connection.h (right): https://codereview.chromium.org/366863002/diff/1/net/quic/quic_connection.h#newcode309 net/quic/quic_connection.h:309: virtual bool ProcessValidatedPacket(); Why does ...
6 years, 5 months ago (2014-07-02 22:56:48 UTC) #7
ramant (doing other things)
6 years, 5 months ago (2014-07-16 19:43:36 UTC) #8
Message was sent while issue was closed.
Fixed the comments in CL: https://codereview.chromium.org/394053003/ and will
merge that back into the internal source tree.

https://codereview.chromium.org/366863002/diff/1/net/quic/quic_connection.h
File net/quic/quic_connection.h (right):

https://codereview.chromium.org/366863002/diff/1/net/quic/quic_connection.h#n...
net/quic/quic_connection.h:309: virtual bool ProcessValidatedPacket();
On 2014/07/02 22:56:48, wtc wrote:
> 
> Why does this method need to be virtual? I don't see any subclass override
this
> method.

Our internal code override's this method. It is not overwritten in chrome.
Diverged chrome version of this file from internal source tree by removing the
virtual.

Done.

https://codereview.chromium.org/366863002/diff/1/net/quic/quic_connection.h#n...
net/quic/quic_connection.h:517: const QuicReceivedPacketManager&
received_packet_manager() {
On 2014/07/02 22:56:48, wtc wrote:
> 
> Mark this method const?

Done.

https://codereview.chromium.org/366863002/diff/1/net/quic/quic_protocol.h
File net/quic/quic_protocol.h (right):

https://codereview.chromium.org/366863002/diff/1/net/quic/quic_protocol.h#new...
net/quic/quic_protocol.h:285: QUIC_VERSION_20 = 20,  // Independent
stream/session flow control windows.
On 2014/07/02 22:56:48, wtc wrote:
> 
> In these two comments, did you mean "session level" or "connection level" flow
> control?

Done.

Powered by Google App Engine
This is Rietveld 408576698