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

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

Issue 2556813003: Delete unused code from QuicSentPacketManager. No behavior change. (Closed)
Patch Set: Created 4 years 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
« no previous file with comments | « no previous file | net/quic/core/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 <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 virtual ~MultipathDelegateInterface() {} 50 virtual ~MultipathDelegateInterface() {}
51 51
52 // Called when unencrypted |packet_number| is requested to be neutered. 52 // Called when unencrypted |packet_number| is requested to be neutered.
53 virtual void OnUnencryptedPacketsNeutered( 53 virtual void OnUnencryptedPacketsNeutered(
54 QuicPathId path_id, 54 QuicPathId path_id,
55 QuicPacketNumber packet_number) = 0; 55 QuicPacketNumber packet_number) = 0;
56 // Called when |packet_number| is requested to be retransmitted. 56 // Called when |packet_number| is requested to be retransmitted.
57 virtual void OnRetransmissionMarked(QuicPathId path_id, 57 virtual void OnRetransmissionMarked(QuicPathId path_id,
58 QuicPacketNumber packet_number, 58 QuicPacketNumber packet_number,
59 TransmissionType transmission_type) = 0; 59 TransmissionType transmission_type) = 0;
60 // Called when |packet_number| is marked as not retransmittable.
61 virtual void OnPacketMarkedNotRetransmittable(
62 QuicPathId path_id,
63 QuicPacketNumber packet_number,
64 QuicTime::Delta delta_largest_observed) = 0;
65 // Called when any transmission of |packet_number| is handled. 60 // Called when any transmission of |packet_number| is handled.
66 virtual void OnPacketMarkedHandled( 61 virtual void OnPacketMarkedHandled(
67 QuicPathId path_id, 62 QuicPathId path_id,
68 QuicPacketNumber packet_number, 63 QuicPacketNumber packet_number,
69 QuicTime::Delta delta_largest_observed) = 0; 64 QuicTime::Delta delta_largest_observed) = 0;
70 }; 65 };
71 66
72 QuicSentPacketManager(Perspective perspective, 67 QuicSentPacketManager(Perspective perspective,
73 QuicPathId path_id, 68 QuicPathId path_id,
74 const QuicClock* clock, 69 const QuicClock* clock,
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 // Invokes OnCongestionEvent if |rtt_updated| is true, there are pending acks, 267 // Invokes OnCongestionEvent if |rtt_updated| is true, there are pending acks,
273 // or pending losses. Clears pending acks and pending losses afterwards. 268 // or pending losses. Clears pending acks and pending losses afterwards.
274 // |prior_in_flight| is the number of bytes in flight before the losses or 269 // |prior_in_flight| is the number of bytes in flight before the losses or
275 // acks, |event_time| is normally the timestamp of the ack packet which caused 270 // acks, |event_time| is normally the timestamp of the ack packet which caused
276 // the event, although it can be the time at which loss detection was 271 // the event, although it can be the time at which loss detection was
277 // triggered. 272 // triggered.
278 void MaybeInvokeCongestionEvent(bool rtt_updated, 273 void MaybeInvokeCongestionEvent(bool rtt_updated,
279 QuicByteCount prior_in_flight, 274 QuicByteCount prior_in_flight,
280 QuicTime event_time); 275 QuicTime event_time);
281 276
282 // Called when frames of |packet_number| has been received but the packet
283 // itself has not been received by the peer. Currently, this method is not
284 // used.
285 // TODO(fayang): Update the comment when multipath sent packet manager is
286 // landed.
287 // The packet needs no longer to be retransmitted, but the packet remains
288 // pending if it is and the congestion control does not consider the packet
289 // acked.
290 void MarkPacketNotRetransmittable(QuicPacketNumber packet_number,
291 QuicTime::Delta ack_delay_time);
292
293 // Removes the retransmittability and in flight properties from the packet at 277 // Removes the retransmittability and in flight properties from the packet at
294 // |info| due to receipt by the peer. 278 // |info| due to receipt by the peer.
295 void MarkPacketHandled(QuicPacketNumber packet_number, 279 void MarkPacketHandled(QuicPacketNumber packet_number,
296 QuicTransmissionInfo* info, 280 QuicTransmissionInfo* info,
297 QuicTime::Delta ack_delay_time); 281 QuicTime::Delta ack_delay_time);
298 282
299 // Request that |packet_number| be retransmitted after the other pending 283 // Request that |packet_number| be retransmitted after the other pending
300 // retransmissions. Does not add it to the retransmissions if it's already 284 // retransmissions. Does not add it to the retransmissions if it's already
301 // a pending retransmission. 285 // a pending retransmission.
302 void MarkForRetransmission(QuicPacketNumber packet_number, 286 void MarkForRetransmission(QuicPacketNumber packet_number,
303 TransmissionType transmission_type); 287 TransmissionType transmission_type);
304 288
305 // Notify observers that packet with QuicTransmissionInfo |info| is a spurious 289 // Notify observers that packet with QuicTransmissionInfo |info| is a spurious
306 // retransmission. It is caller's responsibility to guarantee the packet with 290 // retransmission. It is caller's responsibility to guarantee the packet with
307 // QuicTransmissionInfo |info| is a spurious retransmission before calling 291 // QuicTransmissionInfo |info| is a spurious retransmission before calling
308 // this function. 292 // this function.
309 void RecordOneSpuriousRetransmission(const QuicTransmissionInfo& info); 293 void RecordOneSpuriousRetransmission(const QuicTransmissionInfo& info);
310 294
311 // Notify observers about spurious retransmits of packet with 295 // Notify observers about spurious retransmits of packet with
312 // QuicTransmissionInfo |info|. 296 // QuicTransmissionInfo |info|.
313 void RecordSpuriousRetransmissions(const QuicTransmissionInfo& info, 297 void RecordSpuriousRetransmissions(const QuicTransmissionInfo& info,
314 QuicPacketNumber acked_packet_number); 298 QuicPacketNumber acked_packet_number);
315 299
316 // Returns mutable QuicTransmissionInfo associated with |packet_number|, which
317 // must be unacked.
318 QuicTransmissionInfo* GetMutableTransmissionInfo(
319 QuicPacketNumber packet_number);
320
321 // Remove any packets no longer needed for retransmission, congestion, or
322 // RTT measurement purposes.
323 void RemoveObsoletePackets();
324
325 // Sets the send algorithm to the given congestion control type and points the 300 // Sets the send algorithm to the given congestion control type and points the
326 // pacing sender at |send_algorithm_|. Can be called any number of times. 301 // pacing sender at |send_algorithm_|. Can be called any number of times.
327 void SetSendAlgorithm(CongestionControlType congestion_control_type); 302 void SetSendAlgorithm(CongestionControlType congestion_control_type);
328 303
329 // Sets the send algorithm to |send_algorithm| and points the pacing sender at 304 // Sets the send algorithm to |send_algorithm| and points the pacing sender at
330 // |send_algorithm_|. Takes ownership of |send_algorithm|. Can be called any 305 // |send_algorithm_|. Takes ownership of |send_algorithm|. Can be called any
331 // number of times. 306 // number of times.
332 void SetSendAlgorithm(SendAlgorithmInterface* send_algorithm); 307 void SetSendAlgorithm(SendAlgorithmInterface* send_algorithm);
333 308
334 // Newly serialized retransmittable packets are added to this map, which 309 // Newly serialized retransmittable packets are added to this map, which
(...skipping 23 matching lines...) Expand all
358 DebugDelegate* debug_delegate_; 333 DebugDelegate* debug_delegate_;
359 NetworkChangeVisitor* network_change_visitor_; 334 NetworkChangeVisitor* network_change_visitor_;
360 const QuicPacketCount initial_congestion_window_; 335 const QuicPacketCount initial_congestion_window_;
361 RttStats rtt_stats_; 336 RttStats rtt_stats_;
362 std::unique_ptr<SendAlgorithmInterface> send_algorithm_; 337 std::unique_ptr<SendAlgorithmInterface> send_algorithm_;
363 // Not owned. Always points to |general_loss_algorithm_| outside of tests. 338 // Not owned. Always points to |general_loss_algorithm_| outside of tests.
364 LossDetectionInterface* loss_algorithm_; 339 LossDetectionInterface* loss_algorithm_;
365 GeneralLossAlgorithm general_loss_algorithm_; 340 GeneralLossAlgorithm general_loss_algorithm_;
366 bool n_connection_simulation_; 341 bool n_connection_simulation_;
367 342
368 // Receiver side buffer in bytes.
369 QuicByteCount receive_buffer_bytes_;
370
371 // Least packet number which the peer is still waiting for. 343 // Least packet number which the peer is still waiting for.
372 QuicPacketNumber least_packet_awaited_by_peer_; 344 QuicPacketNumber least_packet_awaited_by_peer_;
373 345
374 // Tracks the first RTO packet. If any packet before that packet gets acked, 346 // Tracks the first RTO packet. If any packet before that packet gets acked,
375 // it indicates the RTO was spurious and should be reversed(F-RTO). 347 // it indicates the RTO was spurious and should be reversed(F-RTO).
376 QuicPacketNumber first_rto_transmission_; 348 QuicPacketNumber first_rto_transmission_;
377 // Number of times the RTO timer has fired in a row without receiving an ack. 349 // Number of times the RTO timer has fired in a row without receiving an ack.
378 size_t consecutive_rto_count_; 350 size_t consecutive_rto_count_;
379 // Number of times the tail loss probe has been sent. 351 // Number of times the tail loss probe has been sent.
380 size_t consecutive_tlp_count_; 352 size_t consecutive_tlp_count_;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 // Records bandwidth from server to client in normal operation, over periods 389 // Records bandwidth from server to client in normal operation, over periods
418 // of time with no loss events. 390 // of time with no loss events.
419 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; 391 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_;
420 392
421 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 393 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
422 }; 394 };
423 395
424 } // namespace net 396 } // namespace net
425 397
426 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 398 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW
« no previous file with comments | « no previous file | net/quic/core/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698