Landing Recent QUIC changes until 2016-03-07 19:39 UTC
Up to, and including internal change 116570346
Add a new QUIC Ack Decimation mode that is reordering tolerant. Protected by FLAG_quic_ack_decimation2.
Merge internal change: 115853846
https://codereview.chromium.org/1777293002/
Deprecating FLAG_quic_batch_writes
Merge internal change: 115880164
https://codereview.chromium.org/1780913002/
Deprecate FLAG_quic_validate_stk_without_scid
Merge internal change: 115885351
https://codereview.chromium.org/1780923002/
Deprecate FLAG_quic_use_new_tcp_sender
Merge internal change: 115890504
https://codereview.chromium.org/1785663003/
Deprecate FLAG_quic_use_new_idle_timeout
Merge internal change: 115904466
https://codereview.chromium.org/1785693003/
Deprecate FLAG_quic_block_unencrypted_writes
Merge internal change: 115909446
https://codereview.chromium.org/1784643006/
Clang formatting net/quic.
Merge internal change: 115992556
https://codereview.chromium.org/1780783003/
Optionally defer responding to a QUIC ACK until all ACK processing has completed for an EpollServer iteration. Guarded by FLAG_quic_connection_defer_ack_response
Merge internal change: 114770052
https://codereview.chromium.org/1782053003/
Deprecate FLAG_require_strike_register_or_server_nonce
Merge internal change: 115891009
https://codereview.chromium.org/1785613005/
Add a boolean use_stateless_rejects_if_peer_supported argument to the QuicCryptoServerStream constructor instead of consulting FLAG_enable_quic_stateless_reject_support directly. No behavior change expected.
Merge internal change: 115844136
https://codereview.chromium.org/1783713003/
Remove FEC from send path.
Merge internal change: 115997404
https://codereview.chromium.org/1784903003/
Remove FEC code from receive path.
Drop received FEC packet.
Merge internal change: 116134765
https://codereview.chromium.org/1782143003/
Only cancel QUIC alarms if they have been set. Protected behind FLAG_quic_only_cancel_set_alarms
Merge internal change: 116142833
https://codereview.chromium.org/1781073002/
Call QuicAlarm::IsSet instead of looking at deadline_ directly, rename some variables for readability.
Merge internal change: 116146641
https://codereview.chromium.org/1778243005/
Add whether QUIC's unencrypted stream data was received or about to be sent in the error log. Logging only change.
Merge internal change: 116152506
https://codereview.chromium.org/1782193002/
Temporarily store the raw QUIC packet in QuicConnection.
Merge internal change: 116180343
https://codereview.chromium.org/1779313002/
Deprecate FLAG_quic_no_unencrypted_fec.
Merge internal change: 116244697
https://codereview.chromium.org/1780573006/
Make ShouldCreateOutgoingDynamicStream a virtual method.
Merge internal change: 116249386
https://codereview.chromium.org/1784933003/
Correctly handle EINTR during sendmsg in QuicSocketUtils::WritePacket.
Merge internal change: 116261116
https://codereview.chromium.org/1780323002/
Simplify QUIC's encryption path now that FEC is gone. Protected by FLAG_quic_inplace_encryption.
Merge internal change: 116266391
https://codereview.chromium.org/1785513003/
Remove the force param from QuicPacketGenerator::SetMaxPacketLength because path MTU packets should not be sent if the MTU cannot be changed. Not flag protected.
Merge internal change: 116273065
https://codereview.chromium.org/1781043004/
Remove lastest_revived_packet from QuicAckFrame since FEC is gone. No functional change expected.
Wire format is not changed yet.
Merge internal change: 116411121
https://codereview.chromium.org/1787443002/
Remove is_fec_packet from TransmissionInfo and SerializedPacket. No functional change.
Merge internal change: 116555910
https://codereview.chromium.org/1785853002/
Remove FEC related connection options and update FEC related comment in code base.
Merge internal change: 116566297
https://codereview.chromium.org/1785863002/
Switch "const StringPiece&" to just "StringPiece" in QUIC code. No functional change. Not flag protected.
Merge internal change: 116570346
https://codereview.chromium.org/1787453002/
Add a QuicCompressedCertsCache instance to QuicDispatcher, plumbing to QuicServerSessionBase but not used. No behavior change.
Merge internal change: 116277134
https://codereview.chromium.org/1783783003/
Add more detailed logging to QUIC's ack validation. No functional change.
Merge internal change: 116277228
https://codereview.chromium.org/1784963002/
Remove max_packet_length from QuicPacketGenerator, because it is no longer necessary with FEC gone. Not flag protected.
Merge internal change: 116387934
https://codereview.chromium.org/1777423002/
Add QuicCompressedCertsCache* to QuicCrytoServerStream plumbed from QuicServerSessionBase. No behavior change.
Merge internal change: 116388439
https://codereview.chromium.org/1782743005/
Remove unused return value from QuicAlarm::Delegate::OnAlarm. No behavior change, not protected.
The only place in the codebase that returns something other than
QuicTime::Zero() is the DelayAlarm in PacketDroppingTestWriter. I've the
implementation of OnAlarm in there to set the alarm directly to the new
time, rather than relying on the return value.
Merge internal change: 116389752
https://codereview.chromium.org/1779883005/
Add a QUIC ScopedPacketBundler to send an ack when the ack alarm goes off. No functional change. Not flag protected.
Merge internal change: 116391846
https://codereview.chromium.org/1786493003/
OnStreamEnd is now called instead of the sentinel call of OnStreamFrameData(stream_id, nullptr, 0, true). Protected by the flag FLAGS_spdy_on_stream_end.
Merge internal change: 116272960
https://codereview.chromium.org/1777163003/
[email protected]
BUG=
Review URL: https://codereview.chromium.org/1781123002
Cr-Commit-Position: refs/heads/master@{#380718}
diff --git a/net/quic/quic_sent_packet_manager.h b/net/quic/quic_sent_packet_manager.h
index 15b12d6..af3b953 100644
--- a/net/quic/quic_sent_packet_manager.h
+++ b/net/quic/quic_sent_packet_manager.h
@@ -133,7 +133,7 @@
// Processes the incoming ack.
void OnIncomingAck(const QuicAckFrame& ack_frame, QuicTime ack_receive_time);
- // Returns true if the non-FEC packet |packet_number| is unacked.
+ // Returns true if packet |packet_number| is unacked.
bool IsUnacked(QuicPacketNumber packet_number) const;
// Requests retransmission of all unacked packets of |retransmission_type|.
@@ -337,7 +337,10 @@
QuicByteCount bytes_in_flight);
// Called when frames of |packet_number| has been received but the packet
- // itself has not been received by the peer (e.g., packet is revived by FEC).
+ // itself has not been received by the peer. Currently, this method is not
+ // used.
+ // TODO(fayang): Update the comment when multipath sent packet manager is
+ // landed.
// The packet needs no longer to be retransmitted, but the packet remains
// pending if it is and the congestion control does not consider the packet
// acked.
@@ -375,8 +378,8 @@
// RTT measurement purposes.
void RemoveObsoletePackets();
- // Newly serialized retransmittable and fec packets are added to this map,
- // which contains owning pointers to any contained frames. If a packet is
+ // Newly serialized retransmittable packets are added to this map, which
+ // contains owning pointers to any contained frames. If a packet is
// retransmitted, this map will contain entries for both the old and the new
// packet. The old packet's retransmittable frames entry will be nullptr,
// while the new packet's entry will contain the frames to retransmit.