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

Issue 1421853006: Landing Recent QUIC changes until: Fri Oct 30 22:23:58 2015 +0000 (Closed)

Created:
5 years, 1 month ago by Ryan Hamilton
Modified:
5 years, 1 month ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, dcheng
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Landing Recent QUIC changes until: Fri Oct 30 22:23:58 2015 +0000 Change QuicAckFrame's revived_packets to be a single QuicPacketNumber. QUIC now ignores all but the last packet revived by FEC. Consumes 24 bytes less and is faster and simpler. Merge internal change: 106729701 https://codereview.chromium.org/1431693002/ Fix a comment in quic_dispatcher.cc to mention the correct method. Merge internal change: 106724344 https://codereview.chromium.org/1418213011/ Add a new method to QuicSpdySession Add a public method OnHeadersHeadOfLineBlocking() which does nothing. This method is used to replace EXPECT_CALL(Log()) in quic headers stream test. Merge internal change: 106716057 https://codereview.chromium.org/1410243007/ Simplify QUIC stateless rejects by latching the value of FLAGS_enable_quic_stateless_reject_support directly in the QuicCryptoServerStream constructor instead of requiring that it be passed in via a setter. Merge internal change: 106714904 https://codereview.chromium.org/1411223011/ Add support of serving SCT on the server side in QUIC, gated by QUIC_VERSION_30. Add support of serving SCT in QUIC. Flag-protected. The protocol works like below: 1. The client sends CSCT tag associated with an empty value in client hello to indicate that it supports cert transparency. 2. If so, the server responds with the signed certificate timestamp (SCT) using the same tag. Merge internal change: 106709176 https://codereview.chromium.org/1416583005/ Put a space between available window value and ">=" in log output. Merge internal change: 106687764 https://codereview.chromium.org/1424313006/ Remove FLAGS_quic_session_map_threshold_for_stateless_rejects, and instead always use stateless rejects when the peer supports it and when FLAGS_gfe2_reloadable_flag_enable_quic_stateless_reject_support is true. Merge internal change: 106656452 https://codereview.chromium.org/1417033008/ Create a new data structure StreamSequencerBuffer for QuicStreamSequencer. Currently QuicStreamSequencer is using std::list to store frames, which could buffer a series of tiny stream frames if the frames arrive so. And they are read out independently as very small strings never coalesced. StreamSequencerBuffer coalesce these small strings and read them out as a whole. It is a circular stream buffer with random write and in-sequence read. It consists of an array of pointers pointing to memory block de/allocated using new/delete and a list of GapRange objects to indicate the missing data between the data already been written into the buffer. And it keeps tracking the total bytes having been read out. Merge internal change: 106593539 https://codereview.chromium.org/1409053006/ Remove unused method OnPacketSent from QuicPacketDroppingTestWriter::Delegate. Merge internal change: 106492030 https://codereview.chromium.org/1422563005/ Remove unused member variables. No functional change. Remove unused QuicClock from TcpCubicSender and TcpCubicBytesSender. Merge internal change: 106458891 https://codereview.chromium.org/1406023017/ Remove unused input argument. No functional change expected. Merge internal change: 106451721 https://codereview.chromium.org/1410013010/ Change QuicWallTime to have microsecond granularity. Merge internal change: 106446616 https://codereview.chromium.org/1421873007/ On client address changes, only migrate QUIC connections when client address changes are considered to be caused by NATs. Add an enum PeerAddressChangeType. On each peer address change, the change type is determined before the connection migration. Merge internal change: 106444524 https://codereview.chromium.org/1420623004/ Make QUIC stateless rejects work in the face of packet loss by storing the SREJ packet(s) in the QuicTimeWaitListManager so they can be retransmitted. Store QUIC SREJ packet(s) in the QuicTimeWaitListManager. Merge internal change: 106433678 https://codereview.chromium.org/1424653008/ Remove QuicPacketCreator::fec_group_number_; replace it with QuicFecGroupInterface::FecGroupNumber(). No behavior change expected. Merge internal change: 106432163 https://codereview.chromium.org/1409813006/ Remove unused QuicErrorCode QUIC_PACKET_FOR_NONEXISTENT_STREAM. No behavior change. Merge internal change: 106425553 https://codereview.chromium.org/1408963003/ Merge GetIncomingDynamicStream and GetDynamicStream into a single GetOrCreateDynamicStream method in QuicSession. No behavior change. Merge internal change: 106421704 https://codereview.chromium.org/1422533006/ Rename MockHelper to the more descriptive (and more consistent with other Mock classes) MockConnectionHelper. Merge internal change: 106419223 https://codereview.chromium.org/1433433003/ Remove the QuicPacketGenerator from the PacketTooLarge EndToEndTest and no longer allow too large packets to be created by the QuicPacketCreator. Merge internal change: 106414015 https://codereview.chromium.org/1411953005/ fix a comment in quic_session.h Merge internal change: 106400931 https://codereview.chromium.org/1408183008/ Cleanup: Call OnWriteError instead of directly closing the connection when failing to send a QUIC version negotiation packet. No behavior change. Merge internal change: 106397442 https://codereview.chromium.org/1424043003/ Removing quic_allow_oversized_packets_for_test by generating and writing packets without a QuicConnection. Test-only change. Merge internal change: 106394664 https://codereview.chromium.org/1415743010/ Change QuicFramer::EncryptPayload to return the length of the encrypted payload rather than a new EncryptedPacket. Merge internal change: 106389203 Fix QUIC end to end test Merge internal change: 106366330 https://codereview.chromium.org/1421703005/ Remove the kMaxSegmentSize constant from QUIC's TcpCubicSender and TcpCubicBytesSender and replace with the identical kDefaultTCPMSS. Also fixes an error where the bandwidth resumption check was incorrectly using kMaxPacketSize. Changes bandwidth resumption CWNDs by less than 1%. Merge internal change: 106356338 https://codereview.chromium.org/1413193009/ Correct (enlarge) the situations when QuicPacketGenerator::MaybeSendFecPacketAndCloseGroup calls packet_creator_.StopFecProtectingPackets. Merge internal change: 106333315 https://codereview.chromium.org/1417533011/ Factor QuicCryptoClientStream APIs into QuicCryptoClientStreamBase. Merge internal change: 106327944 https://codereview.chromium.org/1425363002/ Add new version QUIC_VERSION_29 in which streams honor RST_STREAM + NO_ERROR. Override QuicDataStream OnStreamReset method to honor QUIC_STREAM_NO_ERROR on QUIC_VERSION_29 and later versions: close write side only and leave read side open to read response data from server. Merge internal change: 106313860 https://codereview.chromium.org/1413143004/ Committed: https://crrev.com/99b644cbd649fe031f0fdf882177c89484a65e73 Cr-Commit-Position: refs/heads/master@{#357761}

Patch Set 1 #

Patch Set 2 : Format #

Patch Set 3 : Fix #

Patch Set 4 : Fix Cronet #

Patch Set 5 : fix StreamSequencerBufferTest.Readv100Bytes #

Patch Set 6 : fix StreamSequencerBufferTest.Readv100Bytes #

Patch Set 7 : Fix iOS and Win #

Patch Set 8 : Fix iOS CryptoServerTest.DefaultCert #

Patch Set 9 : Really fix iOS CryptoServerTest.DefaultCert #

Patch Set 10 : fix comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2714 lines, -810 lines) Patch
M components/cronet/android/test/quic_test_server.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
A net/data/ssl/certificates/quic_test.example.com.key.sct View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M net/net.gypi View 2 chunks +3 lines, -0 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_bytes_sender.h View 1 chunk +0 lines, -2 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_bytes_sender.cc View 8 chunks +15 lines, -17 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender.h View 1 chunk +0 lines, -2 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender.cc View 7 chunks +8 lines, -10 lines 0 comments Download
M net/quic/congestion_control/tcp_cubic_sender_test.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M net/quic/crypto/crypto_handshake.h View 2 chunks +5 lines, -0 lines 0 comments Download
M net/quic/crypto/crypto_handshake.cc View 1 chunk +2 lines, -1 line 0 comments Download
M net/quic/crypto/crypto_protocol.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/crypto/crypto_server_test.cc View 5 chunks +10 lines, -2 lines 0 comments Download
M net/quic/crypto/crypto_utils.h View 2 chunks +11 lines, -0 lines 0 comments Download
M net/quic/crypto/crypto_utils.cc View 1 1 chunk +36 lines, -0 lines 0 comments Download
M net/quic/crypto/proof_source.h View 1 chunk +4 lines, -1 line 0 comments Download
M net/quic/crypto/proof_source_chromium.h View 1 2 2 chunks +7 lines, -3 lines 0 comments Download
M net/quic/crypto/proof_source_chromium_nss.cc View 1 2 3 4 5 6 2 chunks +4 lines, -2 lines 0 comments Download
M net/quic/crypto/proof_source_chromium_openssl.cc View 1 2 4 chunks +15 lines, -2 lines 0 comments Download
M net/quic/crypto/proof_test.cc View 1 chunk +5 lines, -3 lines 0 comments Download
M net/quic/crypto/quic_crypto_client_config.cc View 1 1 chunk +4 lines, -26 lines 0 comments Download
M net/quic/crypto/quic_crypto_server_config.h View 1 4 chunks +10 lines, -1 line 0 comments Download
M net/quic/crypto/quic_crypto_server_config.cc View 1 8 chunks +50 lines, -15 lines 0 comments Download
M net/quic/quic_chromium_client_session.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/quic_chromium_client_session.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M net/quic/quic_chromium_client_session_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_clock.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M net/quic/quic_connection.h View 1 6 chunks +20 lines, -6 lines 0 comments Download
M net/quic/quic_connection.cc View 13 chunks +44 lines, -23 lines 0 comments Download
M net/quic/quic_connection_logger.cc View 1 1 chunk +2 lines, -7 lines 0 comments Download
M net/quic/quic_connection_logger_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_connection_test.cc View 1 11 chunks +61 lines, -39 lines 0 comments Download
M net/quic/quic_crypto_client_stream.h View 1 3 chunks +23 lines, -12 lines 0 comments Download
M net/quic/quic_crypto_client_stream.cc View 1 5 chunks +7 lines, -4 lines 0 comments Download
M net/quic/quic_crypto_client_stream_test.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M net/quic/quic_crypto_server_stream.h View 1 chunk +0 lines, -9 lines 0 comments Download
M net/quic/quic_crypto_server_stream.cc View 5 chunks +13 lines, -5 lines 0 comments Download
M net/quic/quic_crypto_server_stream_test.cc View 8 chunks +11 lines, -9 lines 0 comments Download
M net/quic/quic_crypto_stream_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_fec_group.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_fec_group.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_fec_group_interface.h View 1 chunk +3 lines, -0 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 +4 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_flow_controller_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_framer.h View 1 chunk +7 lines, -8 lines 0 comments Download
M net/quic/quic_framer.cc View 1 6 chunks +25 lines, -44 lines 0 comments Download
M net/quic/quic_framer_test.cc View 1 6 chunks +22 lines, -16 lines 0 comments Download
M net/quic/quic_headers_stream.cc View 1 chunk +1 line, -3 lines 0 comments Download
M net/quic/quic_headers_stream_test.cc View 6 chunks +7 lines, -48 lines 0 comments Download
M net/quic/quic_packet_creator.h View 2 chunks +3 lines, -5 lines 0 comments Download
M net/quic/quic_packet_creator.cc View 1 10 chunks +25 lines, -28 lines 0 comments Download
M net/quic/quic_packet_generator.cc View 1 chunk +16 lines, -16 lines 0 comments Download
M net/quic/quic_packet_generator_test.cc View 1 chunk +29 lines, -1 line 0 comments Download
M net/quic/quic_protocol.h View 1 9 chunks +35 lines, -10 lines 0 comments Download
M net/quic/quic_protocol.cc View 1 5 chunks +31 lines, -8 lines 0 comments Download
M net/quic/quic_received_packet_manager.cc View 2 chunks +7 lines, -5 lines 0 comments Download
M net/quic/quic_received_packet_manager_test.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M net/quic/quic_reliable_client_stream_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_sent_packet_manager.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M net/quic/quic_sent_packet_manager_test.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/quic_session.h View 2 chunks +6 lines, -3 lines 0 comments Download
M net/quic/quic_session.cc View 4 chunks +9 lines, -25 lines 0 comments Download
M net/quic/quic_session_test.cc View 11 chunks +21 lines, -20 lines 0 comments Download
M net/quic/quic_spdy_session.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_spdy_session.cc View 1 chunk +5 lines, -1 line 0 comments Download
M net/quic/quic_spdy_stream.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_spdy_stream.cc View 1 chunk +13 lines, -0 lines 0 comments Download
M net/quic/quic_spdy_stream_test.cc View 1 20 chunks +39 lines, -20 lines 0 comments Download
M net/quic/quic_stream_sequencer_buffer_interface.h View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/quic_stream_sequencer_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_time.h View 1 2 3 4 5 6 7 8 9 2 chunks +15 lines, -9 lines 0 comments Download
M net/quic/quic_time.cc View 1 chunk +20 lines, -16 lines 0 comments Download
M net/quic/quic_utils.cc View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/reliable_quic_stream.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/reliable_quic_stream_test.cc View 1 chunk +1 line, -1 line 0 comments Download
A net/quic/stream_sequencer_buffer.h View 1 2 3 4 5 6 1 chunk +201 lines, -0 lines 0 comments Download
A net/quic/stream_sequencer_buffer.cc View 1 1 chunk +453 lines, -0 lines 0 comments Download
A net/quic/stream_sequencer_buffer_test.cc View 1 2 3 4 5 1 chunk +981 lines, -0 lines 0 comments Download
M net/quic/test_tools/crypto_test_utils.h View 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/test_tools/crypto_test_utils.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/test_tools/crypto_test_utils_chromium.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -2 lines 0 comments Download
M net/quic/test_tools/quic_connection_peer.h View 2 chunks +4 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_connection_peer.cc View 2 chunks +11 lines, -1 line 0 comments Download
M net/quic/test_tools/quic_packet_creator_peer.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_packet_creator_peer.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_session_peer.h View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/test_tools/quic_session_peer.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M net/quic/test_tools/quic_test_packet_maker.cc View 3 chunks +15 lines, -12 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 9 chunks +18 lines, -16 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.cc View 1 12 chunks +28 lines, -27 lines 0 comments Download
M net/tools/quic/end_to_end_test.cc View 1 7 chunks +16 lines, -39 lines 0 comments Download
M net/tools/quic/quic_client_session.h View 2 chunks +12 lines, -2 lines 0 comments Download
M net/tools/quic/quic_client_session.cc View 1 3 chunks +16 lines, -8 lines 0 comments Download
M net/tools/quic/quic_client_session_test.cc View 2 chunks +5 lines, -4 lines 0 comments Download
M net/tools/quic/quic_dispatcher.h View 1 chunk +0 lines, -2 lines 0 comments Download
M net/tools/quic/quic_dispatcher.cc View 4 chunks +7 lines, -17 lines 0 comments Download
M net/tools/quic/quic_dispatcher_test.cc View 11 chunks +11 lines, -26 lines 0 comments Download
M net/tools/quic/quic_epoll_clock.h View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -1 line 0 comments Download
M net/tools/quic/quic_epoll_clock.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M net/tools/quic/quic_epoll_clock_test.cc View 1 2 3 4 5 6 2 chunks +8 lines, -15 lines 0 comments Download
M net/tools/quic/quic_server_bin.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_server_session.h View 1 chunk +0 lines, -7 lines 0 comments Download
M net/tools/quic/quic_server_session_test.cc View 13 chunks +18 lines, -16 lines 0 comments Download
M net/tools/quic/quic_simple_server_bin.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_simple_server_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_spdy_client_stream_test.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_spdy_server_stream_test.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M net/tools/quic/quic_time_wait_list_manager.h View 2 chunks +18 lines, -25 lines 0 comments Download
M net/tools/quic/quic_time_wait_list_manager.cc View 1 5 chunks +36 lines, -19 lines 0 comments Download
M net/tools/quic/quic_time_wait_list_manager_test.cc View 1 10 chunks +43 lines, -39 lines 0 comments Download
M net/tools/quic/test_tools/mock_quic_time_wait_list_manager.h View 1 chunk +4 lines, -3 lines 0 comments Download
M net/tools/quic/test_tools/packet_dropping_test_writer.h View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 14 (6 generated)
ramant (doing other things)
lgtm
5 years, 1 month ago (2015-11-03 00:43:36 UTC) #4
Ryan Hamilton
xunjieli: components/cronet/ OWNERS please
5 years, 1 month ago (2015-11-03 14:54:45 UTC) #6
xunjieli
On 2015/11/03 14:54:45, Ryan Hamilton wrote: > xunjieli: components/cronet/ OWNERS please lgtm assuming Cronet tests ...
5 years, 1 month ago (2015-11-03 15:19:07 UTC) #7
Ryan Hamilton
On 2015/11/03 15:19:07, xunjieli wrote: > On 2015/11/03 14:54:45, Ryan Hamilton wrote: > > xunjieli: ...
5 years, 1 month ago (2015-11-03 23:12:50 UTC) #8
xunjieli
On 2015/11/03 23:12:50, Ryan Hamilton wrote: > On 2015/11/03 15:19:07, xunjieli wrote: > > On ...
5 years, 1 month ago (2015-11-03 23:22:02 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1421853006/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1421853006/180001
5 years, 1 month ago (2015-11-04 04:10:54 UTC) #12
commit-bot: I haz the power
Committed patchset #10 (id:180001)
5 years, 1 month ago (2015-11-04 05:25:38 UTC) #13
commit-bot: I haz the power
5 years, 1 month ago (2015-11-04 05:26:22 UTC) #14
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/99b644cbd649fe031f0fdf882177c89484a65e73
Cr-Commit-Position: refs/heads/master@{#357761}

Powered by Google App Engine
This is Rietveld 408576698