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

Unified Diff: net/quic/core/congestion_control/pacing_sender.h

Issue 2236973002: Landing Recent QUIC changes until 4AM, Aug 7, 2016 UTC-4 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: flip quic_sequencer_buffer_retire_block_in_time to true Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: net/quic/core/congestion_control/pacing_sender.h
diff --git a/net/quic/core/congestion_control/pacing_sender.h b/net/quic/core/congestion_control/pacing_sender.h
index 6b4496719f0bfd7cd549cc7d6dde132d71584052..93498719a49164f2178e81650d1fcaa1fdc28733 100644
--- a/net/quic/core/congestion_control/pacing_sender.h
+++ b/net/quic/core/congestion_control/pacing_sender.h
@@ -25,48 +25,36 @@
namespace net {
-class NET_EXPORT_PRIVATE PacingSender : public SendAlgorithmInterface {
+class NET_EXPORT_PRIVATE PacingSender {
public:
PacingSender();
- ~PacingSender() override;
+ ~PacingSender();
- void SetMaxPacingRate(QuicBandwidth max_pacing_rate);
- // Sets the underlying sender. Takes ownership of |sender| if |owns_sender| is
- // true.
- void SetSender(SendAlgorithmInterface* sender, bool owns_sender);
+ // Sets the underlying sender. Does not take ownership of |sender|. |sender|
+ // must not be null. This must be called before any of the
+ // SendAlgorithmInterface wrapper methods are called.
+ void set_sender(SendAlgorithmInterface* sender);
- // SendAlgorithmInterface methods.
- void SetFromConfig(const QuicConfig& config,
- Perspective perspective) override;
- void ResumeConnectionState(
- const CachedNetworkParameters& cached_network_params,
- bool max_bandwidth_resumption) override;
- void SetNumEmulatedConnections(int num_connections) override;
- void OnCongestionEvent(bool rtt_updated,
- QuicByteCount bytes_in_flight,
- const CongestionVector& acked_packets,
- const CongestionVector& lost_packets) override;
+ void set_max_pacing_rate(QuicBandwidth max_pacing_rate) {
+ max_pacing_rate_ = max_pacing_rate;
+ }
+
+ void OnCongestionEvent(
+ bool rtt_updated,
+ QuicByteCount bytes_in_flight,
+ const SendAlgorithmInterface::CongestionVector& acked_packets,
+ const SendAlgorithmInterface::CongestionVector& lost_packets);
bool OnPacketSent(QuicTime sent_time,
QuicByteCount bytes_in_flight,
QuicPacketNumber packet_number,
QuicByteCount bytes,
- HasRetransmittableData is_retransmittable) override;
- void OnRetransmissionTimeout(bool packets_retransmitted) override;
- void OnConnectionMigration() override;
+ HasRetransmittableData is_retransmittable);
QuicTime::Delta TimeUntilSend(QuicTime now,
- QuicByteCount bytes_in_flight) const override;
- QuicBandwidth PacingRate(QuicByteCount bytes_in_flight) const override;
- QuicBandwidth BandwidthEstimate() const override;
- QuicTime::Delta RetransmissionDelay() const override;
- QuicByteCount GetCongestionWindow() const override;
- bool InSlowStart() const override;
- bool InRecovery() const override;
- QuicByteCount GetSlowStartThreshold() const override;
- CongestionControlType GetCongestionControlType() const override;
- // End implementation of SendAlgorithmInterface.
+ QuicByteCount bytes_in_flight) const;
+ QuicBandwidth PacingRate(QuicByteCount bytes_in_flight) const;
private:
- // Underlying sender. Owned if |owns_sender_| is true.
+ // Underlying sender. Not owned.
SendAlgorithmInterface* sender_;
// If not QuicBandidth::Zero, the maximum rate the PacingSender will use.
QuicBandwidth max_pacing_rate_;
@@ -77,7 +65,6 @@ class NET_EXPORT_PRIVATE PacingSender : public SendAlgorithmInterface {
QuicTime last_delayed_packet_sent_time_;
QuicTime ideal_next_packet_send_time_; // When can the next packet be sent.
mutable bool was_last_send_delayed_; // True when the last send was delayed.
- bool owns_sender_; // True if PacingSender owns |sender_|.
DISALLOW_COPY_AND_ASSIGN(PacingSender);
};
« no previous file with comments | « net/quic/core/congestion_control/general_loss_algorithm.cc ('k') | net/quic/core/congestion_control/pacing_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698