Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(420)

Side by Side Diff: net/quic/quic_sent_packet_manager.h

Issue 312553003: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_reliable_client_stream.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 126
127 // Called when the retransmission timer expires. 127 // Called when the retransmission timer expires.
128 virtual void OnRetransmissionTimeout(); 128 virtual void OnRetransmissionTimeout();
129 129
130 // Calculate the time until we can send the next packet to the wire. 130 // Calculate the time until we can send the next packet to the wire.
131 // Note 1: When kUnknownWaitTime is returned, there is no need to poll 131 // Note 1: When kUnknownWaitTime is returned, there is no need to poll
132 // TimeUntilSend again until we receive an OnIncomingAckFrame event. 132 // TimeUntilSend again until we receive an OnIncomingAckFrame event.
133 // Note 2: Send algorithms may or may not use |retransmit| in their 133 // Note 2: Send algorithms may or may not use |retransmit| in their
134 // calculations. 134 // calculations.
135 virtual QuicTime::Delta TimeUntilSend(QuicTime now, 135 virtual QuicTime::Delta TimeUntilSend(QuicTime now,
136 TransmissionType transmission_type,
137 HasRetransmittableData retransmittable); 136 HasRetransmittableData retransmittable);
138 137
139 // Returns amount of time for delayed ack timer. 138 // Returns amount of time for delayed ack timer.
140 const QuicTime::Delta DelayedAckTime() const; 139 const QuicTime::Delta DelayedAckTime() const;
141 140
142 // Returns the current delay for the retransmission timer, which may send 141 // Returns the current delay for the retransmission timer, which may send
143 // either a tail loss probe or do a full RTO. Returns QuicTime::Zero() if 142 // either a tail loss probe or do a full RTO. Returns QuicTime::Zero() if
144 // there are no retransmittable packets. 143 // there are no retransmittable packets.
145 const QuicTime GetRetransmissionTime() const; 144 const QuicTime GetRetransmissionTime() const;
146 145
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 scoped_ptr<SendAlgorithmInterface> send_algorithm_; 266 scoped_ptr<SendAlgorithmInterface> send_algorithm_;
268 scoped_ptr<LossDetectionInterface> loss_algorithm_; 267 scoped_ptr<LossDetectionInterface> loss_algorithm_;
269 268
270 QuicPacketSequenceNumber largest_observed_; // From the most recent ACK. 269 QuicPacketSequenceNumber largest_observed_; // From the most recent ACK.
271 // Number of times the RTO timer has fired in a row without receiving an ack. 270 // Number of times the RTO timer has fired in a row without receiving an ack.
272 size_t consecutive_rto_count_; 271 size_t consecutive_rto_count_;
273 // Number of times the tail loss probe has been sent. 272 // Number of times the tail loss probe has been sent.
274 size_t consecutive_tlp_count_; 273 size_t consecutive_tlp_count_;
275 // Number of times the crypto handshake has been retransmitted. 274 // Number of times the crypto handshake has been retransmitted.
276 size_t consecutive_crypto_retransmission_count_; 275 size_t consecutive_crypto_retransmission_count_;
276 // Whether a tlp packet can be sent even if the send algorithm says not to.
277 bool pending_tlp_transmission_;
277 // Maximum number of tail loss probes to send before firing an RTO. 278 // Maximum number of tail loss probes to send before firing an RTO.
278 size_t max_tail_loss_probes_; 279 size_t max_tail_loss_probes_;
279 bool using_pacing_; 280 bool using_pacing_;
280 281
281 // Sets of packets acked and lost as a result of the last congestion event. 282 // Sets of packets acked and lost as a result of the last congestion event.
282 SendAlgorithmInterface::CongestionMap packets_acked_; 283 SendAlgorithmInterface::CongestionMap packets_acked_;
283 SendAlgorithmInterface::CongestionMap packets_lost_; 284 SendAlgorithmInterface::CongestionMap packets_lost_;
284 285
285 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 286 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
286 }; 287 };
287 288
288 } // namespace net 289 } // namespace net
289 290
290 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 291 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW
« no previous file with comments | « net/quic/quic_reliable_client_stream.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698