| 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/core/quic_multipath_sent_packet_manager.h" | 5 #include "net/quic/core/quic_multipath_sent_packet_manager.h" |
| 6 | 6 |
| 7 #include <cstdint> | 7 #include <cstdint> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "net/quic/core/quic_bug_tracker.h" | 10 #include "net/quic/core/quic_bug_tracker.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 } | 122 } |
| 123 | 123 |
| 124 bool QuicMultipathSentPacketManager::HasPendingRetransmissions() const { | 124 bool QuicMultipathSentPacketManager::HasPendingRetransmissions() const { |
| 125 // TODO(fayang): Move pending_retransmissions_ from path sent packet manager | 125 // TODO(fayang): Move pending_retransmissions_ from path sent packet manager |
| 126 // to multipath sent packet manager. | 126 // to multipath sent packet manager. |
| 127 QuicSentPacketManagerInterface* path_manager = | 127 QuicSentPacketManagerInterface* path_manager = |
| 128 MaybeGetSentPacketManagerForActivePath(kDefaultPathId); | 128 MaybeGetSentPacketManagerForActivePath(kDefaultPathId); |
| 129 return path_manager != nullptr && path_manager->HasPendingRetransmissions(); | 129 return path_manager != nullptr && path_manager->HasPendingRetransmissions(); |
| 130 } | 130 } |
| 131 | 131 |
| 132 PendingRetransmission | 132 QuicPendingRetransmission |
| 133 QuicMultipathSentPacketManager::NextPendingRetransmission() { | 133 QuicMultipathSentPacketManager::NextPendingRetransmission() { |
| 134 // TODO(fayang): Move pending_retransmissions_ from path sent packet manager | 134 // TODO(fayang): Move pending_retransmissions_ from path sent packet manager |
| 135 // to multipath sent packet manager. | 135 // to multipath sent packet manager. |
| 136 QuicSentPacketManagerInterface* path_manager = | 136 QuicSentPacketManagerInterface* path_manager = |
| 137 MaybeGetSentPacketManagerForActivePath(kDefaultPathId); | 137 MaybeGetSentPacketManagerForActivePath(kDefaultPathId); |
| 138 if (path_manager == nullptr) { | 138 if (path_manager == nullptr) { |
| 139 OnUnrecoverablePathError(kDefaultPathId); | 139 OnUnrecoverablePathError(kDefaultPathId); |
| 140 QuicFrames retransmittable_frames; | 140 QuicFrames retransmittable_frames; |
| 141 return PendingRetransmission(kInvalidPathId, 0u, NOT_RETRANSMISSION, | 141 return QuicPendingRetransmission( |
| 142 retransmittable_frames, false, 0, | 142 kInvalidPathId, 0u, NOT_RETRANSMISSION, retransmittable_frames, false, |
| 143 ENCRYPTION_NONE, PACKET_1BYTE_PACKET_NUMBER); | 143 0, ENCRYPTION_NONE, PACKET_1BYTE_PACKET_NUMBER); |
| 144 } | 144 } |
| 145 return path_manager->NextPendingRetransmission(); | 145 return path_manager->NextPendingRetransmission(); |
| 146 } | 146 } |
| 147 | 147 |
| 148 bool QuicMultipathSentPacketManager::HasUnackedPackets() const { | 148 bool QuicMultipathSentPacketManager::HasUnackedPackets() const { |
| 149 for (PathSentPacketManagerInfo path_manager_info : path_managers_info_) { | 149 for (PathSentPacketManagerInfo path_manager_info : path_managers_info_) { |
| 150 if (path_manager_info.manager != nullptr && | 150 if (path_manager_info.manager != nullptr && |
| 151 path_manager_info.state == ACTIVE && | 151 path_manager_info.state == ACTIVE && |
| 152 path_manager_info.manager->HasUnackedPackets()) { | 152 path_manager_info.manager->HasUnackedPackets()) { |
| 153 return true; | 153 return true; |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 for (PathSentPacketManagerInfo& path_manager_info : path_managers_info_) { | 515 for (PathSentPacketManagerInfo& path_manager_info : path_managers_info_) { |
| 516 if (path_manager_info.manager == nullptr || | 516 if (path_manager_info.manager == nullptr || |
| 517 path_manager_info.state != ACTIVE) { | 517 path_manager_info.state != ACTIVE) { |
| 518 continue; | 518 continue; |
| 519 } | 519 } |
| 520 path_manager_info.manager->OnApplicationLimited(); | 520 path_manager_info.manager->OnApplicationLimited(); |
| 521 } | 521 } |
| 522 } | 522 } |
| 523 | 523 |
| 524 } // namespace net | 524 } // namespace net |
| OLD | NEW |