diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-27 19:39:43 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-27 19:39:43 +0000 |
commit | 3aa9ca7d36a77ac1cf4077ed041b0c624dea8eb2 (patch) | |
tree | 034a554e79e1d254e4c15c20ad0d9347c8e7c9e3 /net/quic/quic_unacked_packet_map.cc | |
parent | 697b287ede25a3263473acc870a532ca863163bf (diff) | |
download | chromium_src-3aa9ca7d36a77ac1cf4077ed041b0c624dea8eb2.zip chromium_src-3aa9ca7d36a77ac1cf4077ed041b0c624dea8eb2.tar.gz chromium_src-3aa9ca7d36a77ac1cf4077ed041b0c624dea8eb2.tar.bz2 |
Land Recent QUIC Changes.
Allow running the test server in secure mode.
Merge internal change: 62164374
https://codereview.chromium.org/181413007/
Implement special behaviors (closing and timing out) in the test server.
Testing only.
Merge internal change: 62158630
https://codereview.chromium.org/177293008/
Moving a preexisting DCHECK to a new and more helpful dfatal.
Merge internal change: 62089588
https://codereview.chromium.org/181463007/
PACKET_NBYTE_GUID -> PACKET_NBYTE_CONNECTION_ID
GUID->ConnectionId
QuicGuid->QuicConnectionId
guid->connection_id
except for the dos proto, which I'm leaving alone for now.
renaming quic guid to connection id. no functional change.
Merge internal change: 62087636
https://codereview.chromium.org/181483006/
QUIC-local change to extend per-connection stats. Extending
QuicConnectionStats to add two Cubic-related stats.
Merge internal change: 61977906
https://codereview.chromium.org/177843017/
Implement an early retransmit timer in QUIC's TcpLossAlgorithm to
replace immediate loss and retransmission.
Merge internal change: 61976680
https://codereview.chromium.org/182083002/
Add a time based loss detection algorithm to QUIC that loses packets
after 1.25RTTs and at least one nack.
Merge internal change: 61975778
https://codereview.chromium.org/182063002/
QUIC test cleanup to always use MockLossAlgorithm in QuicConnectionTest.
Merge internal change: 61972606
https://codereview.chromium.org/180783003/
Minor optimizations to QuicUnackedPacketMap and QuicSentPacketManager to
improve load testing.
Merge internal change: 61961987
https://codereview.chromium.org/181433007/
Cleanup: Rename http_message_test_utils.{h,cc,_test.cc} to
http_message.{h,cc,_test.cc}
This is how it should be named (defines/tests class HTTPMessage), and
it's confusingly similar to the unrelated http_message_utils.h
n/a (test only)
Merge internal change: 61955207
https://codereview.chromium.org/181703005/
Test-only change to QuicConnectionTest to use MockLossAlgorithm instead
of specific details of the TCP loss detection algorithm.
Merge internal change: 61953382
https://codereview.chromium.org/181693005/
Add mock methods for SendBlocked and SendWindowUpdate in QuicConnection
(test only)
Merge internal change: 61945606
https://codereview.chromium.org/181973002/
Add SendWindowUpdate and SendBlocked methods to QuicConnection.
Not used yet.
Merge internal change: 61915742
https://codereview.chromium.org/181413005/
Start using the loss timeout in QuicSentPacketManager and add a mock
implementation of the LossDetectionInterface for testing.
Merge internal change: 61903890
https://codereview.chromium.org/181723003/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/182523002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253899 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 | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/net/quic/quic_unacked_packet_map.cc b/net/quic/quic_unacked_packet_map.cc index bcafa56..c222ac9 100644 --- a/net/quic/quic_unacked_packet_map.cc +++ b/net/quic/quic_unacked_packet_map.cc @@ -205,11 +205,16 @@ bool QuicUnackedPacketMap::IsPending( void QuicUnackedPacketMap::SetNotPending( QuicPacketSequenceNumber sequence_number) { - if (unacked_packets_[sequence_number].pending) { - LOG_IF(DFATAL, - bytes_in_flight_ < unacked_packets_[sequence_number].bytes_sent); - bytes_in_flight_ -= unacked_packets_[sequence_number].bytes_sent; - unacked_packets_[sequence_number].pending = false; + UnackedPacketMap::iterator it = unacked_packets_.find(sequence_number); + if (it == unacked_packets_.end()) { + LOG(DFATAL) << "SetNotPending called for packet that is not unacked: " + << sequence_number; + return; + } + if (it->second.pending) { + LOG_IF(DFATAL, bytes_in_flight_ < it->second.bytes_sent); + bytes_in_flight_ -= it->second.bytes_sent; + it->second.pending = false; } } |