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

Issue 420313005: Land Recent QUIC Changes. (Closed)

Created:
6 years, 4 months ago by ramant (doing other things)
Modified:
6 years, 4 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, dmz, Robbie Shade, cyr_google.com, Ian Swett, avd, wtc, jar (doing other things)
Base URL:
https://chromium.googlesource.com/chromium/src.git@Final_0723
Project:
chromium
Visibility:
Public.

Description

Land Recent QUIC Changes. By mistake, changes from https://codereview.chromium.org/428253003/ (it was LGTM'ed) got merged into this CL (will be careful not to repeat it while merging changes) QUIC - enable persisting QuicServerInfo to disk cache by default. Deleted unused enable_quic_persist_server_info from params. This change should improve success rate of zero RTT for QUIC. Reviewed CL: https://codereview.chromium.org/428253003/ Add case for PING frame in QuicFrame <<. Merge internal change: 71908470 https://codereview.chromium.org/421963006/ Add methods to the QuicConnectionDebug visitor for tracking various events which cause a QuicConnection to discard a packet. Merge internal change: 71871881 https://codereview.chromium.org/421913015/ Change ReliableQuicStream::OnStreamFrame to return void since the method already closes the connection when there are errors and callers are not checking the return value Make QuicStreamSequencer::OnStreamFrame return void instead of bool since it is already closing the connect or resetting the stream when there is an error. Make two QUIC methods return void instead of bool. Merge internal change: 71870242 https://codereview.chromium.org/420393004/ Create a visitor which can allow using both a trace... visitor and the existing stats visitor. Changed QuicConnection's QuicConnectionDebugVisitor to a scoped_ptr. Merge internal change: 71863508 https://codereview.chromium.org/429453003/ Use 1350 byte QUIC packets by default. Merge internal change: 71837432 https://codereview.chromium.org/427673005/ Improve debug logging of QUIC crypto handshake. Merge internal change: 71833151 https://codereview.chromium.org/428803002/ Fix a bug in QuicUnackedPacketMap where an in flight packet could be removed before being removed from bytes_in_flight. Merge internal change: 71783653 https://codereview.chromium.org/422123005/ Inline the members of QUIC's ReceivedPacketInfo into QuicAckFrame now that version 15 is gone. Merge internal change: 71763611 https://codereview.chromium.org/424003002/ Remove FixRate congestion frame type. Merge internal change: 71746617 https://codereview.chromium.org/424903002/ Remove QUIC_VERSION_15 now that Chrome Stable supports QUIC_VERSION_16. Merge internal change: 71718286 https://codereview.chromium.org/413403008/ R=rch@chromium.org TBR=thestig@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=287168

Patch Set 1 #

Patch Set 2 : rebase TOT #

Patch Set 3 : Merge with TOT #

Patch Set 4 : change QUIC packet size to 1350 #

Total comments: 14
Unified diffs Side-by-side diffs Delta from patch set Stats (+775 lines, -1966 lines) Patch
M chrome/browser/io_thread_unittest.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/resources/net_internals/quic_view.html View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M net/http/http_cache.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M net/http/http_network_session.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M net/http/http_network_session.cc View 1 2 3 2 chunks +0 lines, -3 lines 0 comments Download
M net/net.gypi View 1 2 chunks +0 lines, -5 lines 0 comments Download
D net/quic/congestion_control/fix_rate_receiver.h View 1 chunk +0 lines, -43 lines 0 comments Download
D net/quic/congestion_control/fix_rate_receiver.cc View 1 chunk +0 lines, -34 lines 0 comments Download
D net/quic/congestion_control/fix_rate_sender.h View 1 chunk +0 lines, -72 lines 0 comments Download
D net/quic/congestion_control/fix_rate_sender.cc View 1 chunk +0 lines, -116 lines 0 comments Download
D net/quic/congestion_control/fix_rate_test.cc View 1 chunk +0 lines, -101 lines 0 comments Download
M net/quic/congestion_control/receive_algorithm_interface.cc View 2 chunks +0 lines, -3 lines 0 comments Download
M net/quic/congestion_control/send_algorithm_interface.cc View 2 chunks +0 lines, -3 lines 0 comments Download
M net/quic/quic_client_session.h View 1 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_client_session.cc View 1 2 3 6 chunks +8 lines, -8 lines 0 comments Download
M net/quic/quic_config.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/quic_connection.h View 3 chunks +13 lines, -2 lines 4 comments Download
M net/quic/quic_connection.cc View 1 2 29 chunks +62 lines, -66 lines 4 comments Download
M net/quic/quic_connection_logger.cc View 1 4 chunks +9 lines, -18 lines 0 comments Download
M net/quic/quic_connection_test.cc View 1 77 chunks +157 lines, -233 lines 0 comments Download
M net/quic/quic_crypto_client_stream.cc View 1 2 3 3 chunks +0 lines, -4 lines 0 comments Download
M net/quic/quic_crypto_stream.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/quic_crypto_stream.cc View 1 2 3 3 chunks +6 lines, -1 line 2 comments Download
M net/quic/quic_framer.h View 2 chunks +3 lines, -8 lines 0 comments Download
M net/quic/quic_framer.cc View 30 chunks +37 lines, -108 lines 0 comments Download
M net/quic/quic_framer_test.cc View 28 chunks +75 lines, -699 lines 0 comments Download
M net/quic/quic_packet_creator.h View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_packet_creator.cc View 5 chunks +5 lines, -9 lines 0 comments Download
M net/quic/quic_packet_creator_test.cc View 7 chunks +8 lines, -11 lines 0 comments Download
M net/quic/quic_packet_generator_test.cc View 2 chunks +5 lines, -7 lines 0 comments Download
M net/quic/quic_protocol.h View 8 chunks +22 lines, -43 lines 0 comments Download
M net/quic/quic_protocol.cc View 9 chunks +25 lines, -43 lines 0 comments Download
M net/quic/quic_protocol_test.cc View 1 chunk +11 lines, -11 lines 0 comments Download
M net/quic/quic_received_packet_manager.h View 3 chunks +3 lines, -4 lines 2 comments Download
M net/quic/quic_received_packet_manager.cc View 6 chunks +37 lines, -38 lines 0 comments Download
M net/quic/quic_received_packet_manager_test.cc View 3 chunks +15 lines, -15 lines 0 comments Download
M net/quic/quic_sent_packet_manager.h View 4 chunks +4 lines, -4 lines 0 comments Download
M net/quic/quic_sent_packet_manager.cc View 6 chunks +24 lines, -25 lines 0 comments Download
M net/quic/quic_sent_packet_manager_test.cc View 29 chunks +131 lines, -131 lines 0 comments Download
M net/quic/quic_stream_sequencer.h View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_stream_sequencer.cc View 4 chunks +9 lines, -9 lines 0 comments Download
M net/quic/quic_stream_sequencer_test.cc View 14 chunks +26 lines, -26 lines 0 comments Download
M net/quic/quic_unacked_packet_map.cc View 1 chunk +7 lines, -2 lines 0 comments Download
M net/quic/quic_unacked_packet_map_test.cc View 2 chunks +20 lines, -5 lines 0 comments Download
M net/quic/reliable_quic_stream.h View 1 chunk +2 lines, -3 lines 0 comments Download
M net/quic/reliable_quic_stream.cc View 2 chunks +6 lines, -6 lines 0 comments Download
M net/quic/reliable_quic_stream_test.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M net/quic/test_tools/quic_connection_peer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_connection_peer.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_test_packet_maker.cc View 4 chunks +8 lines, -12 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 1 chunk +1 line, -2 lines 2 comments Download
M net/quic/test_tools/quic_test_utils.cc View 3 chunks +8 lines, -12 lines 0 comments Download
M net/tools/quic/quic_spdy_client_stream.h View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_spdy_client_stream.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_spdy_client_stream_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/test_tools/quic_test_utils.cc View 1 chunk +2 lines, -3 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
ramant (doing other things)
6 years, 4 months ago (2014-07-29 02:19:13 UTC) #1
ramant (doing other things)
Hi Ryan, Will land after landing the following CL (and after performance regression was found): ...
6 years, 4 months ago (2014-07-29 02:23:55 UTC) #2
Ryan Hamilton
LGTM But let's wait 24 hours for https://codereview.chromium.org/422623004/ to roll out first to confirm that ...
6 years, 4 months ago (2014-07-29 19:17:47 UTC) #3
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 4 months ago (2014-08-01 19:37:07 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/420313005/60001
6 years, 4 months ago (2014-08-01 19:39:14 UTC) #5
ramant (doing other things)
Added thestig@chromium.org for io_thread_unittest.cc. Fixed the following unit test IOThreadTest.EnableQuicFromFieldTrialGroup (run #1): [ RUN ] ...
6 years, 4 months ago (2014-08-01 22:26:03 UTC) #6
ramant (doing other things)
The CQ bit was checked by rtenneti@chromium.org
6 years, 4 months ago (2014-08-01 22:26:23 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/420313005/80001
6 years, 4 months ago (2014-08-01 22:27:58 UTC) #8
Lei Zhang
chrome/ lgtm
6 years, 4 months ago (2014-08-01 22:41:23 UTC) #9
ramant (doing other things)
On 2014/08/01 22:41:23, Lei Zhang wrote: > chrome/ lgtm Thanks very much Lei, raman
6 years, 4 months ago (2014-08-01 22:43:53 UTC) #10
commit-bot: I haz the power
Change committed as 287168
6 years, 4 months ago (2014-08-02 06:15:41 UTC) #11
wtc
Patch set 4 LGTM. I suggest some changes. https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection.cc File net/quic/quic_connection.cc (right): https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection.cc#newcode1698 net/quic/quic_connection.cc:1698: if ...
6 years, 4 months ago (2014-08-04 23:28:13 UTC) #12
ramant (doing other things)
6 years, 4 months ago (2014-08-09 02:53:20 UTC) #13
Message was sent while issue was closed.
Fixed the comments in internal source tree and chromium CL:
 https://codereview.chromium.org/454263002

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection.cc
File net/quic/quic_connection.cc (right):

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection...
net/quic/quic_connection.cc:1698: if (debug_visitor_ != NULL) {
On 2014/08/04 23:28:12, wtc wrote:
> 
> debug_visitor_ => debug_visitor_.get()

Done.

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection...
net/quic/quic_connection.cc:1700: debug_visitor_->OnUndecryptablePacket();
On 2014/08/04 23:28:12, wtc wrote:
> 
> Nit: perhaps more efficient to pass the number of undecryptable packets as the
> argument to OnUndecryptablePacket so that we just need to call
> OnUndecryptablePacket once?

Good point. We are not using this method yet. Added a TODO.

Acknowledged.

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

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection...
net/quic/quic_connection.h:140: // Called when a packet is recived with a
connection id that does not
On 2014/08/04 23:28:13, wtc wrote:
> 
> recived => received

Done.

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_connection...
net/quic/quic_connection.h:370: void
set_debug_visitor(QuicConnectionDebugVisitor* debug_visitor) {
On 2014/08/04 23:28:13, wtc wrote:
> 
> We should document that this method now takes ownership of debug_visitor.

Done.

> 
> This seems like a bad API design: set_visitor doesn't take ownership of the
> argument, but set_debug_visitor does.

Acknowledged.

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_crypto_str...
File net/quic/quic_crypto_stream.cc (right):

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_crypto_str...
net/quic/quic_crypto_stream.cc:21: #define ENDPOINT (is_server_ ? "Server: " : "
Client: ")
On 2014/08/04 23:28:13, wtc wrote:
> 
> Nit: It seems that we can just call session()->is_server() in this macro. Then
> we don't need the is_server_ member.

Done.

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_received_p...
File net/quic/quic_received_packet_manager.h (right):

https://codereview.chromium.org/420313005/diff/80001/net/quic/quic_received_p...
net/quic/quic_received_packet_manager.h:117: // Update the |received_info| for
an outgoing ack.
On 2014/08/04 23:28:13, wtc wrote:
> 
> |received_info| => |ack_frame|. Also fix line 134.

Done.

https://codereview.chromium.org/420313005/diff/80001/net/quic/test_tools/quic...
File net/quic/test_tools/quic_test_utils.h (right):

https://codereview.chromium.org/420313005/diff/80001/net/quic/test_tools/quic...
net/quic/test_tools/quic_test_utils.h:94: // from least_unacked to
largest_observed acked.
On 2014/08/04 23:28:13, wtc wrote:
> 
> This comment needs updating because the "least_unacked" parameter is gone.

Done.

Powered by Google App Engine
This is Rietveld 408576698