diff options
author | rjshade <rjshade@chromium.org> | 2016-03-11 12:42:17 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-11 20:43:47 +0000 |
commit | d069aaee0b3affb6004d8cf3a276c32e248a2a3d (patch) | |
tree | ce0e89ab98a7ca09ac5df43122928a1f5aebf44b /net/quic/quic_sent_packet_manager.cc | |
parent | ab26b6681dde41b4141fef09decf9c4e930aee85 (diff) | |
download | chromium_src-d069aaee0b3affb6004d8cf3a276c32e248a2a3d.zip chromium_src-d069aaee0b3affb6004d8cf3a276c32e248a2a3d.tar.gz chromium_src-d069aaee0b3affb6004d8cf3a276c32e248a2a3d.tar.bz2 |
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/
R=rch@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1781123002
Cr-Commit-Position: refs/heads/master@{#380718}
Diffstat (limited to 'net/quic/quic_sent_packet_manager.cc')
-rw-r--r-- | net/quic/quic_sent_packet_manager.cc | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/net/quic/quic_sent_packet_manager.cc b/net/quic/quic_sent_packet_manager.cc index fbe446b..2bdd196 100644 --- a/net/quic/quic_sent_packet_manager.cc +++ b/net/quic/quic_sent_packet_manager.cc @@ -47,7 +47,6 @@ static const int64_t kMinHandshakeTimeoutMs = 10; // Sends up to two tail loss probes before firing an RTO, // per draft RFC draft-dukkipati-tcpm-tcp-loss-probe. static const size_t kDefaultMaxTailLossProbes = 2; -static const int64_t kMinTailLossProbeTimeoutMs = 10; // Number of unpaced packets to send after quiescence. static const size_t kInitialUnpacedBurst = 10; @@ -322,12 +321,6 @@ void QuicSentPacketManager::HandleAckForSentPackets( } MarkPacketHandled(packet_number, &(*it), ack_delay_time); } - - // Discard any retransmittable frames associated with revived packets. - if (ack_frame.latest_revived_packet != 0) { - MarkPacketNotRetransmittable(ack_frame.latest_revived_packet, - ack_delay_time); - } } bool QuicSentPacketManager::HasRetransmittableFrames( @@ -346,9 +339,6 @@ void QuicSentPacketManager::RetransmitUnackedPackets( (retransmission_type == ALL_UNACKED_RETRANSMISSION || it->encryption_level == ENCRYPTION_INITIAL)) { MarkForRetransmission(packet_number, retransmission_type); - } else if (it->is_fec_packet) { - // Remove FEC packets from the packet map, since we can't retransmit them. - unacked_packets_.RemoveFromInFlight(packet_number); } } } @@ -487,8 +477,6 @@ void QuicSentPacketManager::MarkPacketNotRetransmittable( pending_retransmissions_.erase(newest_transmission); } - // The AckListener needs to be notified for revived packets, - // since it indicates the packet arrived from the appliction's perspective. unacked_packets_.NotifyAndClearListeners(newest_transmission, ack_delay_time); unacked_packets_.RemoveRetransmittability(packet_number); } @@ -568,16 +556,10 @@ bool QuicSentPacketManager::OnPacketSent( --pending_timer_transmission_count_; } - // Only track packets as in flight that the send algorithm wants us to track. - // Since FEC packets should also be counted towards the congestion window, - // consider them as retransmittable for the purposes of congestion control. - HasRetransmittableData has_congestion_controlled_data = - serialized_packet->is_fec_packet ? HAS_RETRANSMITTABLE_DATA - : has_retransmittable_data; // TODO(ianswett): Remove sent_time, because it's unused. const bool in_flight = send_algorithm_->OnPacketSent( sent_time, unacked_packets_.bytes_in_flight(), packet_number, - serialized_packet->encrypted_length, has_congestion_controlled_data); + serialized_packet->encrypted_length, has_retransmittable_data); unacked_packets_.AddSentPacket(serialized_packet, original_packet_number, transmission_type, sent_time, in_flight); @@ -733,8 +715,8 @@ void QuicSentPacketManager::InvokeLossDetection(QuicTime time) { } else { // Since we will not retransmit this, we need to remove it from // unacked_packets_. This is either the current transmission of - // a packet whose previous transmission has been acked, a packet that - // has been TLP retransmitted, or an FEC packet. + // a packet whose previous transmission has been acked or a packet that + // has been TLP retransmitted. unacked_packets_.RemoveFromInFlight(pair.first); } } |