OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/quic_connection.h" | 5 #include "net/quic/quic_connection.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 #include <sys/types.h> | 8 #include <sys/types.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 2000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2011 packet_generator_.AddControlFrame( | 2011 packet_generator_.AddControlFrame( |
2012 QuicFrame(new QuicGoAwayFrame(error, last_good_stream_id, reason))); | 2012 QuicFrame(new QuicGoAwayFrame(error, last_good_stream_id, reason))); |
2013 } | 2013 } |
2014 | 2014 |
2015 void QuicConnection::CloseFecGroupsBefore(QuicPacketNumber packet_number) { | 2015 void QuicConnection::CloseFecGroupsBefore(QuicPacketNumber packet_number) { |
2016 FecGroupMap::iterator it = group_map_.begin(); | 2016 FecGroupMap::iterator it = group_map_.begin(); |
2017 while (it != group_map_.end()) { | 2017 while (it != group_map_.end()) { |
2018 // If this is the current group or the group doesn't protect this packet | 2018 // If this is the current group or the group doesn't protect this packet |
2019 // we can ignore it. | 2019 // we can ignore it. |
2020 if (last_header_.fec_group == it->first || | 2020 if (last_header_.fec_group == it->first || |
2021 !it->second->ProtectsPacketsBefore(packet_number)) { | 2021 !it->second->IsWaitingForPacketBefore(packet_number)) { |
2022 ++it; | 2022 ++it; |
2023 continue; | 2023 continue; |
2024 } | 2024 } |
2025 QuicFecGroup* fec_group = it->second; | 2025 QuicFecGroup* fec_group = it->second; |
2026 DCHECK(!fec_group->CanRevive()); | 2026 DCHECK(!fec_group->CanRevive()); |
2027 FecGroupMap::iterator next = it; | 2027 FecGroupMap::iterator next = it; |
2028 ++next; | 2028 ++next; |
2029 group_map_.erase(it); | 2029 group_map_.erase(it); |
2030 delete fec_group; | 2030 delete fec_group; |
2031 it = next; | 2031 it = next; |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2324 packet_number_of_last_sent_packet_ + packets_between_mtu_probes_ + 1; | 2324 packet_number_of_last_sent_packet_ + packets_between_mtu_probes_ + 1; |
2325 ++mtu_probe_count_; | 2325 ++mtu_probe_count_; |
2326 | 2326 |
2327 DVLOG(2) << "Sending a path MTU discovery packet #" << mtu_probe_count_; | 2327 DVLOG(2) << "Sending a path MTU discovery packet #" << mtu_probe_count_; |
2328 SendMtuDiscoveryPacket(mtu_discovery_target_); | 2328 SendMtuDiscoveryPacket(mtu_discovery_target_); |
2329 | 2329 |
2330 DCHECK(!mtu_discovery_alarm_->IsSet()); | 2330 DCHECK(!mtu_discovery_alarm_->IsSet()); |
2331 } | 2331 } |
2332 | 2332 |
2333 } // namespace net | 2333 } // namespace net |
OLD | NEW |