Landing Recent QUIC Changes.
commitdd4bf8f4a41ec6609e2b6bee2e0aa5d076bced8f
authorrtenneti <rtenneti@chromium.org>
Wed, 3 Sep 2014 00:45:16 +0000 (2 17:45 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 3 Sep 2014 00:52:12 +0000 (3 00:52 +0000)
treebd6855bf091d757e2547991b35420ad307519da2
parent61aa9d539dc5892c5de53e081f9ce05ffa68f1d3
Landing Recent QUIC Changes.

Ensure the QuicConnection's writer is not write blocked before trying to
write another packet.

Fix for Chrome crash bug 409191.

Merge internal change: 74635422

BUG=409191

Nest a QUIC SerializedPacket inside a QUIC QueuedPacket.

Merge internal change: 74239145
https://codereview.chromium.org/509203003/

Remove PacketType from QUIC because the QUEUED type is not used and the
other types can be reduced to a bool.

Merge internal change: 74148481
https://codereview.chromium.org/515003003/

Don't send a QUIC SCUP message until after handshake confirmed.

A server config update was occasionally being sent before the crypto
handshake was complete, causing the client to close the connection.

Merge internal change: 74132773
https://codereview.chromium.org/516713002/

Change TransmissionInfo's all_transmissions SequenceNumberSet* to
default to NULL, and only be present if there are multiple transmissions.

Estimated to save ~2% of CPU.

Merge internal change: 74076012
https://codereview.chromium.org/509073004/

Log the quic version for internal server tracing.
Not used in production.

Merge internal change: 74069715
https://codereview.chromium.org/514043002/

Optimize QuicUnackedPacketMap by changing from a LinkedHashMap to a
deque.

Estimated to save ~3% of CPU based on pprof profiling of 100 large gets
on tools/quic/end_to_end_test.cc.

Merge internal change: 74054196
https://codereview.chromium.org/514033002/

Unit test for empty packet closes QUIC connection bug.

Merge internal change: 74041239
https://codereview.chromium.org/495423011/

Log the QUIC transmission type in QUIC internal server trace visitor.
Not used in production.

Merge internal change: 73895739
https://codereview.chromium.org/514023002/

Not used in production. Log whether a QUIC packet sent was a crypto
packet or not for internal server side tracing.

Merge internal change: 73894063
https://codereview.chromium.org/515003002/

Fix a QUIC bug in which PING frames were not being ACK'd.

Merge internal change: 73837644
https://codereview.chromium.org/512933005/

R=rch@chromium.org

Committed: https://chromium.googlesource.com/chromium/src/+/27f3f1894f09a96112df50fddd32895b4677f949

Review URL: https://codereview.chromium.org/515303003

Cr-Commit-Position: refs/heads/master@{#293030}
19 files changed:
net/quic/congestion_control/tcp_loss_algorithm.cc
net/quic/congestion_control/time_loss_algorithm.cc
net/quic/quic_connection.cc
net/quic/quic_connection.h
net/quic/quic_connection_logger.h
net/quic/quic_connection_test.cc
net/quic/quic_crypto_server_stream.cc
net/quic/quic_crypto_server_stream_test.cc
net/quic/quic_protocol.cc
net/quic/quic_protocol.h
net/quic/quic_sent_entropy_manager.cc
net/quic/quic_sent_packet_manager.cc
net/quic/quic_sent_packet_manager.h
net/quic/quic_sent_packet_manager_test.cc
net/quic/quic_unacked_packet_map.cc
net/quic/quic_unacked_packet_map.h
net/quic/quic_unacked_packet_map_test.cc
net/quic/test_tools/quic_sent_packet_manager_peer.cc
net/tools/quic/quic_client_session_test.cc