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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 // retransmissions. Does not add it to the retransmissions if it's already | 312 // retransmissions. Does not add it to the retransmissions if it's already |
313 // a pending retransmission. | 313 // a pending retransmission. |
314 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, | 314 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, |
315 TransmissionType transmission_type); | 315 TransmissionType transmission_type); |
316 | 316 |
317 // Notify observers about spurious retransmits. | 317 // Notify observers about spurious retransmits. |
318 void RecordSpuriousRetransmissions( | 318 void RecordSpuriousRetransmissions( |
319 const SequenceNumberList& all_transmissions, | 319 const SequenceNumberList& all_transmissions, |
320 QuicPacketSequenceNumber acked_sequence_number); | 320 QuicPacketSequenceNumber acked_sequence_number); |
321 | 321 |
| 322 // Returns true if the client is sending or the server has received a |
| 323 // connection option. |
| 324 bool HasClientSentConnectionOption(const QuicConfig& config, |
| 325 QuicTag tag) const; |
| 326 |
322 // Newly serialized retransmittable and fec packets are added to this map, | 327 // Newly serialized retransmittable and fec packets are added to this map, |
323 // which contains owning pointers to any contained frames. If a packet is | 328 // which contains owning pointers to any contained frames. If a packet is |
324 // retransmitted, this map will contain entries for both the old and the new | 329 // retransmitted, this map will contain entries for both the old and the new |
325 // packet. The old packet's retransmittable frames entry will be NULL, while | 330 // packet. The old packet's retransmittable frames entry will be NULL, while |
326 // the new packet's entry will contain the frames to retransmit. | 331 // the new packet's entry will contain the frames to retransmit. |
327 // If the old packet is acked before the new packet, then the old entry will | 332 // If the old packet is acked before the new packet, then the old entry will |
328 // be removed from the map and the new entry's retransmittable frames will be | 333 // be removed from the map and the new entry's retransmittable frames will be |
329 // set to NULL. | 334 // set to NULL. |
330 QuicUnackedPacketMap unacked_packets_; | 335 QuicUnackedPacketMap unacked_packets_; |
331 | 336 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 // Records bandwidth from server to client in normal operation, over periods | 384 // Records bandwidth from server to client in normal operation, over periods |
380 // of time with no loss events. | 385 // of time with no loss events. |
381 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; | 386 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; |
382 | 387 |
383 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 388 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
384 }; | 389 }; |
385 | 390 |
386 } // namespace net | 391 } // namespace net |
387 | 392 |
388 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 393 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
OLD | NEW |