OLD | NEW |
1 #include "net/quic/quic_multipath_sent_packet_manager.h" | 1 #include "net/quic/quic_multipath_sent_packet_manager.h" |
2 | 2 |
3 #include <cstdint> | 3 #include <cstdint> |
4 | 4 |
5 #include "base/strings/string_number_conversions.h" | 5 #include "base/strings/string_number_conversions.h" |
6 #include "net/quic/quic_bug_tracker.h" | 6 #include "net/quic/quic_bug_tracker.h" |
7 | 7 |
8 using std::string; | 8 using std::string; |
9 using std::max; | 9 using std::max; |
10 | 10 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 const QuicAckFrame& ack_frame, | 77 const QuicAckFrame& ack_frame, |
78 QuicTime ack_receive_time) { | 78 QuicTime ack_receive_time) { |
79 if (ack_frame.path_id >= path_managers_info_.size() || | 79 if (ack_frame.path_id >= path_managers_info_.size() || |
80 path_managers_info_[ack_frame.path_id].state != ACTIVE) { | 80 path_managers_info_[ack_frame.path_id].state != ACTIVE) { |
81 return; | 81 return; |
82 } | 82 } |
83 path_managers_info_[ack_frame.path_id].manager->OnIncomingAck( | 83 path_managers_info_[ack_frame.path_id].manager->OnIncomingAck( |
84 ack_frame, ack_receive_time); | 84 ack_frame, ack_receive_time); |
85 } | 85 } |
86 | 86 |
87 bool QuicMultipathSentPacketManager::IsUnacked( | |
88 QuicPathId path_id, | |
89 QuicPacketNumber packet_number) const { | |
90 QuicSentPacketManagerInterface* path_manager = | |
91 MaybeGetSentPacketManagerForPath(path_id); | |
92 return path_manager != nullptr && | |
93 path_manager->IsUnacked(path_id, packet_number); | |
94 } | |
95 | |
96 bool QuicMultipathSentPacketManager::HasRetransmittableFrames( | |
97 QuicPathId path_id, | |
98 QuicPacketNumber packet_number) const { | |
99 QuicSentPacketManagerInterface* path_manager = | |
100 MaybeGetSentPacketManagerForPath(path_id); | |
101 return path_manager != nullptr && | |
102 path_manager->HasRetransmittableFrames(path_id, packet_number); | |
103 } | |
104 | |
105 void QuicMultipathSentPacketManager::RetransmitUnackedPackets( | 87 void QuicMultipathSentPacketManager::RetransmitUnackedPackets( |
106 TransmissionType retransmission_type) { | 88 TransmissionType retransmission_type) { |
107 QuicSentPacketManagerInterface* path_manager = | 89 QuicSentPacketManagerInterface* path_manager = |
108 MaybeGetSentPacketManagerForActivePath(kDefaultPathId); | 90 MaybeGetSentPacketManagerForActivePath(kDefaultPathId); |
109 if (path_manager == nullptr) { | 91 if (path_manager == nullptr) { |
110 OnUnrecoverablePathError(kDefaultPathId); | 92 OnUnrecoverablePathError(kDefaultPathId); |
111 return; | 93 return; |
112 } | 94 } |
113 path_manager->RetransmitUnackedPackets(retransmission_type); | 95 path_manager->RetransmitUnackedPackets(retransmission_type); |
114 } | 96 } |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 return; | 493 return; |
512 } | 494 } |
513 const string error_details = | 495 const string error_details = |
514 "Sent packet manager of path: (" + base::IntToString(path_id) + | 496 "Sent packet manager of path: (" + base::IntToString(path_id) + |
515 ") must be active but is not."; | 497 ") must be active but is not."; |
516 delegate_->OnUnrecoverableError(QUIC_MULTIPATH_PATH_NOT_ACTIVE, error_details, | 498 delegate_->OnUnrecoverableError(QUIC_MULTIPATH_PATH_NOT_ACTIVE, error_details, |
517 ConnectionCloseSource::FROM_SELF); | 499 ConnectionCloseSource::FROM_SELF); |
518 } | 500 } |
519 | 501 |
520 } // namespace net | 502 } // namespace net |
OLD | NEW |