| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_SENT_PACKET_MANAGER_H_ | 5 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
| 6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 // Called when congestion window may have changed. | 67 // Called when congestion window may have changed. |
| 68 virtual void OnCongestionWindowChange() = 0; | 68 virtual void OnCongestionWindowChange() = 0; |
| 69 | 69 |
| 70 // Called when RTT may have changed, including when an RTT is read from | 70 // Called when RTT may have changed, including when an RTT is read from |
| 71 // the config. | 71 // the config. |
| 72 virtual void OnRttChange() = 0; | 72 virtual void OnRttChange() = 0; |
| 73 }; | 73 }; |
| 74 | 74 |
| 75 // Struct to store the pending retransmission information. | 75 // Struct to store the pending retransmission information. |
| 76 struct PendingRetransmission { | 76 struct PendingRetransmission { |
| 77 PendingRetransmission(QuicPacketNumber packet_number, | 77 PendingRetransmission(QuicPathId path_id, |
| 78 QuicPacketNumber packet_number, |
| 78 TransmissionType transmission_type, | 79 TransmissionType transmission_type, |
| 79 const RetransmittableFrames& retransmittable_frames, | 80 const RetransmittableFrames& retransmittable_frames, |
| 80 EncryptionLevel encryption_level, | 81 EncryptionLevel encryption_level, |
| 81 QuicPacketNumberLength packet_number_length) | 82 QuicPacketNumberLength packet_number_length) |
| 82 : packet_number(packet_number), | 83 : path_id(path_id), |
| 84 packet_number(packet_number), |
| 83 transmission_type(transmission_type), | 85 transmission_type(transmission_type), |
| 84 retransmittable_frames(retransmittable_frames), | 86 retransmittable_frames(retransmittable_frames), |
| 85 encryption_level(encryption_level), | 87 encryption_level(encryption_level), |
| 86 packet_number_length(packet_number_length) {} | 88 packet_number_length(packet_number_length) {} |
| 87 | 89 |
| 90 QuicPathId path_id; |
| 88 QuicPacketNumber packet_number; | 91 QuicPacketNumber packet_number; |
| 89 TransmissionType transmission_type; | 92 TransmissionType transmission_type; |
| 90 const RetransmittableFrames& retransmittable_frames; | 93 const RetransmittableFrames& retransmittable_frames; |
| 91 EncryptionLevel encryption_level; | 94 EncryptionLevel encryption_level; |
| 92 QuicPacketNumberLength packet_number_length; | 95 QuicPacketNumberLength packet_number_length; |
| 93 }; | 96 }; |
| 94 | 97 |
| 95 QuicSentPacketManager(Perspective perspective, | 98 QuicSentPacketManager(Perspective perspective, |
| 99 QuicPathId path_id, |
| 96 const QuicClock* clock, | 100 const QuicClock* clock, |
| 97 QuicConnectionStats* stats, | 101 QuicConnectionStats* stats, |
| 98 CongestionControlType congestion_control_type, | 102 CongestionControlType congestion_control_type, |
| 99 LossDetectionType loss_type); | 103 LossDetectionType loss_type); |
| 100 virtual ~QuicSentPacketManager(); | 104 virtual ~QuicSentPacketManager(); |
| 101 | 105 |
| 102 virtual void SetFromConfig(const QuicConfig& config); | 106 virtual void SetFromConfig(const QuicConfig& config); |
| 103 | 107 |
| 104 // Pass the CachedNetworkParameters to the send algorithm. | 108 // Pass the CachedNetworkParameters to the send algorithm. |
| 105 void ResumeConnectionState( | 109 void ResumeConnectionState( |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 // be removed from the map and the new entry's retransmittable frames will be | 355 // be removed from the map and the new entry's retransmittable frames will be |
| 352 // set to nullptr. | 356 // set to nullptr. |
| 353 QuicUnackedPacketMap unacked_packets_; | 357 QuicUnackedPacketMap unacked_packets_; |
| 354 | 358 |
| 355 // Pending retransmissions which have not been packetized and sent yet. | 359 // Pending retransmissions which have not been packetized and sent yet. |
| 356 PendingRetransmissionMap pending_retransmissions_; | 360 PendingRetransmissionMap pending_retransmissions_; |
| 357 | 361 |
| 358 // Tracks if the connection was created by the server or the client. | 362 // Tracks if the connection was created by the server or the client. |
| 359 Perspective perspective_; | 363 Perspective perspective_; |
| 360 | 364 |
| 365 QuicPathId path_id_; |
| 366 |
| 361 const QuicClock* clock_; | 367 const QuicClock* clock_; |
| 362 QuicConnectionStats* stats_; | 368 QuicConnectionStats* stats_; |
| 363 DebugDelegate* debug_delegate_; | 369 DebugDelegate* debug_delegate_; |
| 364 NetworkChangeVisitor* network_change_visitor_; | 370 NetworkChangeVisitor* network_change_visitor_; |
| 365 const QuicPacketCount initial_congestion_window_; | 371 const QuicPacketCount initial_congestion_window_; |
| 366 RttStats rtt_stats_; | 372 RttStats rtt_stats_; |
| 367 scoped_ptr<SendAlgorithmInterface> send_algorithm_; | 373 scoped_ptr<SendAlgorithmInterface> send_algorithm_; |
| 368 scoped_ptr<LossDetectionInterface> loss_algorithm_; | 374 scoped_ptr<LossDetectionInterface> loss_algorithm_; |
| 369 bool n_connection_simulation_; | 375 bool n_connection_simulation_; |
| 370 | 376 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 // Records bandwidth from server to client in normal operation, over periods | 416 // Records bandwidth from server to client in normal operation, over periods |
| 411 // of time with no loss events. | 417 // of time with no loss events. |
| 412 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; | 418 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; |
| 413 | 419 |
| 414 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 420 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
| 415 }; | 421 }; |
| 416 | 422 |
| 417 } // namespace net | 423 } // namespace net |
| 418 | 424 |
| 419 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 425 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
| OLD | NEW |