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 <deque> | 8 #include <deque> |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 | 104 |
105 QuicSentPacketManager(bool is_server, | 105 QuicSentPacketManager(bool is_server, |
106 const QuicClock* clock, | 106 const QuicClock* clock, |
107 QuicConnectionStats* stats, | 107 QuicConnectionStats* stats, |
108 CongestionControlType congestion_control_type, | 108 CongestionControlType congestion_control_type, |
109 LossDetectionType loss_type); | 109 LossDetectionType loss_type); |
110 virtual ~QuicSentPacketManager(); | 110 virtual ~QuicSentPacketManager(); |
111 | 111 |
112 virtual void SetFromConfig(const QuicConfig& config); | 112 virtual void SetFromConfig(const QuicConfig& config); |
113 | 113 |
| 114 void SetHandshakeConfirmed() { handshake_confirmed_ = true; } |
| 115 |
114 // Called when a new packet is serialized. If the packet contains | 116 // Called when a new packet is serialized. If the packet contains |
115 // retransmittable data, it will be added to the unacked packet map. | 117 // retransmittable data, it will be added to the unacked packet map. |
116 void OnSerializedPacket(const SerializedPacket& serialized_packet); | 118 void OnSerializedPacket(const SerializedPacket& serialized_packet); |
117 | 119 |
118 // Called when a packet is retransmitted with a new sequence number. | 120 // Called when a packet is retransmitted with a new sequence number. |
119 // Replaces the old entry in the unacked packet map with the new | 121 // Replaces the old entry in the unacked packet map with the new |
120 // sequence number. | 122 // sequence number. |
121 void OnRetransmittedPacket(QuicPacketSequenceNumber old_sequence_number, | 123 void OnRetransmittedPacket(QuicPacketSequenceNumber old_sequence_number, |
122 QuicPacketSequenceNumber new_sequence_number); | 124 QuicPacketSequenceNumber new_sequence_number); |
123 | 125 |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 // Whether a tlp packet can be sent even if the send algorithm says not to. | 357 // Whether a tlp packet can be sent even if the send algorithm says not to. |
356 bool pending_tlp_transmission_; | 358 bool pending_tlp_transmission_; |
357 // Maximum number of tail loss probes to send before firing an RTO. | 359 // Maximum number of tail loss probes to send before firing an RTO. |
358 size_t max_tail_loss_probes_; | 360 size_t max_tail_loss_probes_; |
359 bool using_pacing_; | 361 bool using_pacing_; |
360 | 362 |
361 // Sets of packets acked and lost as a result of the last congestion event. | 363 // Sets of packets acked and lost as a result of the last congestion event. |
362 SendAlgorithmInterface::CongestionMap packets_acked_; | 364 SendAlgorithmInterface::CongestionMap packets_acked_; |
363 SendAlgorithmInterface::CongestionMap packets_lost_; | 365 SendAlgorithmInterface::CongestionMap packets_lost_; |
364 | 366 |
| 367 // Set to true after the crypto handshake has successfully completed. After |
| 368 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on |
| 369 // the crypto stream (i.e. SCUP messages) are treated like normal |
| 370 // retransmittable frames. |
| 371 bool handshake_confirmed_; |
| 372 |
365 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 373 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
366 }; | 374 }; |
367 | 375 |
368 } // namespace net | 376 } // namespace net |
369 | 377 |
370 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 378 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
OLD | NEW |