diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-31 23:17:14 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-31 23:17:14 +0000 |
commit | c5cc9bd03a52d4c96d5e00efe4633ae965c4dcfd (patch) | |
tree | 8910a2ed2f88a1751e8ea7823b7b2bc3c64da124 /net/quic/quic_unacked_packet_map.cc | |
parent | 45a4f1ff5da3196aa03cfbe3862f57a1e1eb029c (diff) | |
download | chromium_src-c5cc9bd03a52d4c96d5e00efe4633ae965c4dcfd.zip chromium_src-c5cc9bd03a52d4c96d5e00efe4633ae965c4dcfd.tar.gz chromium_src-c5cc9bd03a52d4c96d5e00efe4633ae965c4dcfd.tar.bz2 |
Land Recent QUIC Changes.
Add a QUIC flag to enable time based loss detection as the default.
Merge internal change: 63942432
(this CL was merged in https://codereview.chromium.org/217133004/
added FLAGS_quic_use_time_loss_detection to quic_flags.cc
and made the change to quic_connection.cc also).
Now that we have a default send window, no need to send WINDOW_UPDATE to
ensure streams are not flow control blocked
Merge internal change: 63887815
https://codereview.chromium.org/217003005/
Changing the max stream delta to allow for all open streams in a given
direction. Previously, we allowed 100 streams (200 even/odd stream ids)
but an insufficient delta of 100.
Allowing a slightly larger stream delta for QUIC.
Merge internal change: 63880428
https://codereview.chromium.org/212063006/
UDP proxy session for QUIC. This is not production ready. Major issues
include the sharding issue and the time wait list.
Merge internal change: 63878878
https://codereview.chromium.org/216943004/
Don't try and close a QUIC connection twice while processing a single
incoming packet.
Merge internal change: 63878490
https://codereview.chromium.org/217053004/
Added missing OVERRIDE.
Add the ability to negotiate the QUIC loss detection algorithm in the
crypto handshake.
Added FLAGS_quic_congestion_control_inter_arrival and
FLAGS_quic_use_time_loss_detection. They default to false.
Merge internal change: 63874474
https://codereview.chromium.org/217133004/
Send BLOCKED frame directly from ReliableQuicStream.
Merge internal change: 63808643
https://codereview.chromium.org/216423006/
Simplified ReliableQuicStream::IsFlowControlBlocked.
Merge internal change: 63807857
https://codereview.chromium.org/217103003/
Track the sent_time for ack packets so the RTT is updated when ack
packets are acked as the largest observed.
Merge internal change: 63806273
https://codereview.chromium.org/216423005/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/217303003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260695 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_unacked_packet_map.cc')
-rw-r--r-- | net/quic/quic_unacked_packet_map.cc | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/net/quic/quic_unacked_packet_map.cc b/net/quic/quic_unacked_packet_map.cc index e7e5e16..46cf2b8 100644 --- a/net/quic/quic_unacked_packet_map.cc +++ b/net/quic/quic_unacked_packet_map.cc @@ -198,6 +198,14 @@ void QuicUnackedPacketMap::NeuterPacket( } } +// static +bool QuicUnackedPacketMap::IsSentAndNotPending( + const TransmissionInfo& transmission_info) { + return !transmission_info.pending && + transmission_info.sent_time != QuicTime::Zero() && + transmission_info.bytes_sent == 0; +} + bool QuicUnackedPacketMap::IsUnacked( QuicPacketSequenceNumber sequence_number) const { return ContainsKey(unacked_packets_, sequence_number); @@ -333,9 +341,10 @@ SequenceNumberSet QuicUnackedPacketMap::GetUnackedPackets() const { return unacked_packets; } -void QuicUnackedPacketMap::SetPending(QuicPacketSequenceNumber sequence_number, - QuicTime sent_time, - QuicByteCount bytes_sent) { +void QuicUnackedPacketMap::SetSent(QuicPacketSequenceNumber sequence_number, + QuicTime sent_time, + QuicByteCount bytes_sent, + bool set_pending) { DCHECK_LT(0u, sequence_number); UnackedPacketMap::iterator it = unacked_packets_.find(sequence_number); if (it == unacked_packets_.end()) { @@ -346,10 +355,12 @@ void QuicUnackedPacketMap::SetPending(QuicPacketSequenceNumber sequence_number, DCHECK(!it->second.pending); largest_sent_packet_ = max(sequence_number, largest_sent_packet_); - bytes_in_flight_ += bytes_sent; it->second.sent_time = sent_time; - it->second.bytes_sent = bytes_sent; - it->second.pending = true; + if (set_pending) { + bytes_in_flight_ += bytes_sent; + it->second.bytes_sent = bytes_sent; + it->second.pending = true; + } } } // namespace net |