| 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 #ifndef NET_QUIC_QUIC_MULTIPATH_SENT_PACKET_MANAGER_H_ | 5 #ifndef NET_QUIC_QUIC_MULTIPATH_SENT_PACKET_MANAGER_H_ |
| 6 #define NET_QUIC_QUIC_MULTIPATH_SENT_PACKET_MANAGER_H_ | 6 #define NET_QUIC_QUIC_MULTIPATH_SENT_PACKET_MANAGER_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "net/base/net_export.h" | 10 #include "net/base/net_export.h" |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 QuicByteCount max_packet_length) const override; | 125 QuicByteCount max_packet_length) const override; |
| 126 | 126 |
| 127 // Returns the size of the current congestion window size on the default path | 127 // Returns the size of the current congestion window size on the default path |
| 128 // in bytes. | 128 // in bytes. |
| 129 QuicByteCount GetCongestionWindowInBytes() const override; | 129 QuicByteCount GetCongestionWindowInBytes() const override; |
| 130 | 130 |
| 131 // Returns the size of the slow start congestion window in number of 1460 byte | 131 // Returns the size of the slow start congestion window in number of 1460 byte |
| 132 // TCP segments on the default path. | 132 // TCP segments on the default path. |
| 133 QuicPacketCount GetSlowStartThresholdInTcpMss() const override; | 133 QuicPacketCount GetSlowStartThresholdInTcpMss() const override; |
| 134 | 134 |
| 135 // Returns debugging information about the state of the congestion |
| 136 // controller for all paths. |
| 137 std::string GetDebugState() const override; |
| 138 |
| 135 // No longer retransmit data for |stream_id| on all paths and any pending | 139 // No longer retransmit data for |stream_id| on all paths and any pending |
| 136 // retransmissions in pending_retransmissions_. | 140 // retransmissions in pending_retransmissions_. |
| 137 void CancelRetransmissionsForStream(QuicStreamId stream_id) override; | 141 void CancelRetransmissionsForStream(QuicStreamId stream_id) override; |
| 138 | 142 |
| 139 void OnConnectionMigration(QuicPathId path_id, | 143 void OnConnectionMigration(QuicPathId path_id, |
| 140 PeerAddressChangeType type) override; | 144 PeerAddressChangeType type) override; |
| 141 | 145 |
| 142 bool IsHandshakeConfirmed() const override; | 146 bool IsHandshakeConfirmed() const override; |
| 143 | 147 |
| 144 // Sets debug delegate for all active paths. | 148 // Sets debug delegate for all active paths. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 155 void SetNetworkChangeVisitor(NetworkChangeVisitor* visitor) override; | 159 void SetNetworkChangeVisitor(NetworkChangeVisitor* visitor) override; |
| 156 | 160 |
| 157 // Returns true if the default path is in slow start. | 161 // Returns true if the default path is in slow start. |
| 158 bool InSlowStart() const override; | 162 bool InSlowStart() const override; |
| 159 | 163 |
| 160 // These two methods return the consecutive RTO or TLP count of the default | 164 // These two methods return the consecutive RTO or TLP count of the default |
| 161 // path. | 165 // path. |
| 162 size_t GetConsecutiveRtoCount() const override; | 166 size_t GetConsecutiveRtoCount() const override; |
| 163 size_t GetConsecutiveTlpCount() const override; | 167 size_t GetConsecutiveTlpCount() const override; |
| 164 | 168 |
| 169 void OnApplicationLimited() override; |
| 170 |
| 165 private: | 171 private: |
| 166 friend class test::QuicConnectionPeer; | 172 friend class test::QuicConnectionPeer; |
| 167 friend class test::QuicMultipathSentPacketManagerPeer; | 173 friend class test::QuicMultipathSentPacketManagerPeer; |
| 168 | 174 |
| 169 // State of per path sent packet manager. | 175 // State of per path sent packet manager. |
| 170 // TODO(fayang): Need to add a state that path can receive acks but cannot | 176 // TODO(fayang): Need to add a state that path can receive acks but cannot |
| 171 // send data. | 177 // send data. |
| 172 enum PathSentPacketManagerState { | 178 enum PathSentPacketManagerState { |
| 173 ACTIVE, // We both send packets and receiving acks on this path. | 179 ACTIVE, // We both send packets and receiving acks on this path. |
| 174 CLOSING, // We stop sending packets and receiving acks on this path. There | 180 CLOSING, // We stop sending packets and receiving acks on this path. There |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 | 213 |
| 208 // Does not own this delegate. | 214 // Does not own this delegate. |
| 209 QuicConnectionCloseDelegateInterface* delegate_; | 215 QuicConnectionCloseDelegateInterface* delegate_; |
| 210 | 216 |
| 211 DISALLOW_COPY_AND_ASSIGN(QuicMultipathSentPacketManager); | 217 DISALLOW_COPY_AND_ASSIGN(QuicMultipathSentPacketManager); |
| 212 }; | 218 }; |
| 213 | 219 |
| 214 } // namespace net | 220 } // namespace net |
| 215 | 221 |
| 216 #endif // NET_QUIC_QUIC_MULTIPATH_SENT_PACKET_MANAGER_H_ | 222 #endif // NET_QUIC_QUIC_MULTIPATH_SENT_PACKET_MANAGER_H_ |
| OLD | NEW |