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

Unified Diff: net/quic/congestion_control/quic_congestion_manager.h

Issue 12334063: Land recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more EXPECT_FALSE Created 7 years, 10 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/congestion_control/quic_congestion_manager.h
diff --git a/net/quic/congestion_control/quic_congestion_manager.h b/net/quic/congestion_control/quic_congestion_manager.h
index 09a9c9c9907b93ae7ee28ffb65f8959e06da22f9..c8e3a6574d1609397713dd3e11ae8b9eca1891c2 100644
--- a/net/quic/congestion_control/quic_congestion_manager.h
+++ b/net/quic/congestion_control/quic_congestion_manager.h
@@ -33,15 +33,18 @@ class QuicCongestionManager {
virtual ~QuicCongestionManager();
// Called when we have received an ack frame from peer.
- virtual void OnIncomingAckFrame(const QuicAckFrame& frame);
+ virtual void OnIncomingAckFrame(const QuicAckFrame& frame,
+ QuicTime ack_receive_time);
// Called when a congestion feedback frame is received from peer.
virtual void OnIncomingQuicCongestionFeedbackFrame(
- const QuicCongestionFeedbackFrame& frame);
+ const QuicCongestionFeedbackFrame& frame,
+ QuicTime feedback_receive_time);
// Called when we have sent bytes to the peer. This informs the manager both
// the number of bytes sent and if they were retransmitted.
virtual void SentPacket(QuicPacketSequenceNumber sequence_number,
+ QuicTime sent_time,
QuicByteCount bytes,
bool is_retransmission);
@@ -50,7 +53,8 @@ class QuicCongestionManager {
// TimeUntilSend again until we receive an OnIncomingAckFrame event.
// Note 2: Send algorithms may or may not use |retransmit| in their
// calculations.
- virtual QuicTime::Delta TimeUntilSend(bool is_retransmission);
+ virtual QuicTime::Delta TimeUntilSend(QuicTime now,
+ bool is_retransmission);
// Should be called before sending an ACK packet, to decide if we need
// to attach a QuicCongestionFeedbackFrame block.
@@ -73,6 +77,7 @@ class QuicCongestionManager {
const QuicTime::Delta DefaultRetransmissionTime();
const QuicTime::Delta GetRetransmissionDelay(
+ size_t unacked_packets_count,
size_t number_retransmissions);
private:
@@ -80,8 +85,7 @@ class QuicCongestionManager {
friend class test::QuicCongestionManagerPeer;
typedef std::map<QuicPacketSequenceNumber, size_t> PendingPacketsMap;
- // TODO(pwestin): Currently only used for testing. How do we surface this?
- QuicBandwidth SentBandwidth() const;
+ QuicBandwidth SentBandwidth(QuicTime feedback_receive_time) const;
// TODO(pwestin): Currently only used for testing. How do we surface this?
QuicBandwidth BandwidthEstimate();
void CleanupPacketHistory();
@@ -91,6 +95,7 @@ class QuicCongestionManager {
scoped_ptr<SendAlgorithmInterface> send_algorithm_;
SendAlgorithmInterface::SentPacketsMap packet_history_map_;
PendingPacketsMap pending_packets_;
+ QuicPacketSequenceNumber largest_missing_;
DISALLOW_COPY_AND_ASSIGN(QuicCongestionManager);
};
« no previous file with comments | « net/quic/congestion_control/paced_sender_test.cc ('k') | net/quic/congestion_control/quic_congestion_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698