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

Unified Diff: net/quic/quic_packet_generator.h

Issue 1784903003: Remove FEC from send path. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@114770052
Patch Set: Restore accidentally removed OnRttChanged call Created 4 years, 9 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
« no previous file with comments | « net/quic/quic_packet_creator_test.cc ('k') | net/quic/quic_packet_generator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_packet_generator.h
diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h
index 6d956e36b15b51ff13cead782656caa7cdf5ae06..4d36f8bc1ade3c07e776490d42eb59c9505bb2a1 100644
--- a/net/quic/quic_packet_generator.h
+++ b/net/quic/quic_packet_generator.h
@@ -36,19 +36,6 @@
// full, it will be serialized and sent to the packet. When batch
// mode is ended via |FinishBatchOperations|, the current packet
// will be serialzied, even if it is not full.
-//
-// FEC behavior also depends on batch mode. In batch mode, FEC packets
-// will be sent after |max_packets_per_group| have been sent, as well
-// as after batch operations are complete. When not in batch mode,
-// an FEC packet will be sent after each write call completes.
-//
-// TODO(rch): This behavior should probably be tuned. When not in batch
-// mode, we should probably set a timer so that several independent
-// operations can be grouped into the same FEC group.
-//
-// When an FEC packet is generated, it will be send to the Delegate,
-// even if the Delegate has become unwritable after handling the
-// data packet immediately proceeding the FEC packet.
#ifndef NET_QUIC_QUIC_PACKET_GENERATOR_H_
#define NET_QUIC_QUIC_PACKET_GENERATOR_H_
@@ -91,12 +78,6 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
~QuicPacketGenerator();
- // Called by the connection in the event of the congestion window changing.
- void OnCongestionWindowChange(QuicPacketCount max_packets_in_flight);
-
- // Called by the connection when the RTT may have changed.
- void OnRttChange(QuicTime::Delta rtt);
-
// Indicates that an ACK frame should be sent.
// If |also_send_stop_waiting| is true, then it also indicates that a
// STOP_WAITING frame should be sent as well.
@@ -115,7 +96,6 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
QuicIOVector iov,
QuicStreamOffset offset,
bool fin,
- FecProtection fec_protection,
QuicAckListenerInterface* listener);
// Generates an MTU discovery packet of specified size.
@@ -146,8 +126,6 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
// Re-serializes frames with the original packet's packet number length.
// Used for retransmitting packets to ensure they aren't too long.
- // Caller must ensure that any open FEC group is closed before calling this
- // method.
void ReserializeAllFrames(const PendingRetransmission& retransmission,
char* buffer,
size_t buffer_len);
@@ -160,16 +138,6 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
// Set the minimum number of bytes for the connection id length;
void SetConnectionIdLength(uint32_t length);
- // Called when the FEC alarm fires.
- void OnFecTimeout();
-
- // Called after sending |packet_number| to determine whether an FEC alarm
- // should be set for sending out an FEC packet. Returns a positive and finite
- // timeout if an FEC alarm should be set, and infinite if no alarm should be
- // set. OnFecTimeout should be called to send the FEC packet when the alarm
- // fires.
- QuicTime::Delta GetFecTimeout(QuicPacketNumber packet_number);
-
// Sets the encrypter to use for the encryption level.
void SetEncrypter(EncryptionLevel level, QuicEncrypter* encrypter);
@@ -182,15 +150,14 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
// Returns the maximum packet length. Note that this is the long-term maximum
// packet length, and it may not be the maximum length of the current packet,
- // if the generator is in the middle of the packet (in batch mode) or FEC
- // group.
+ // if the generator is in the middle of the packet (in batch mode).
QuicByteCount GetMaxPacketLength() const;
// Returns the maximum length current packet can actually have.
QuicByteCount GetCurrentMaxPacketLength() const;
// Set maximum packet length sent. If |force| is set to true, all pending
- // unfinished packets and FEC groups are closed, and the change is enacted
- // immediately. Otherwise, it is enacted at the next opportunity.
+ // unfinished packets are closed, and the change is enacted immediately.
+ // Otherwise, it is enacted at the next opportunity.
void SetMaxPacketLength(QuicByteCount length, bool force);
// Sets |path_id| to be the path on which next packet is generated.
@@ -202,15 +169,10 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
packet_creator_.set_debug_delegate(debug_delegate);
}
- void set_rtt_multiplier_for_fec_timeout(float rtt_multiplier_for_fec_timeout);
-
- FecSendPolicy fec_send_policy();
- void set_fec_send_policy(FecSendPolicy fec_send_policy);
-
private:
friend class test::QuicPacketGeneratorPeer;
- void SendQueuedFrames(bool flush, bool is_fec_timeout);
+ void SendQueuedFrames(bool flush);
// Test to see if we have pending ack, or control frames.
bool HasPendingFrames() const;
« no previous file with comments | « net/quic/quic_packet_creator_test.cc ('k') | net/quic/quic_packet_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698