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

Unified Diff: net/quic/quic_packet_generator.h

Issue 849123003: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed extra blank line Created 5 years, 11 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.h ('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 24dc97c4772264efa74f4423ea74902807fa9cbd..beb7db95f3ac7f0ff9b41bf2f0fca6fd3c6934fb 100644
--- a/net/quic/quic_packet_generator.h
+++ b/net/quic/quic_packet_generator.h
@@ -171,6 +171,16 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
// Set the minimum number of bytes for the connection id length;
void SetConnectionIdLength(uint32 length);
+ // Called when the FEC alarm fires.
+ void OnFecTimeout();
+
+ // Called after sending |sequence_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(QuicPacketSequenceNumber sequence_number);
+
// Sets the encryption level that will be applied to new packets.
void set_encryption_level(EncryptionLevel level);
@@ -186,8 +196,6 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
debug_delegate_ = debug_delegate;
}
- QuicTime::Delta fec_timeout() { return fec_timeout_; }
-
private:
friend class test::QuicPacketGeneratorPeer;
@@ -205,6 +213,10 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
// off FEC protection in the creator if it's off in the generator.
void MaybeSendFecPacketAndCloseGroup(bool force);
+ // Returns true if an FEC packet should be generated based on |force| and
+ // current state of the generator and the creator.
+ bool ShouldSendFecPacket(bool force);
+
void SendQueuedFrames(bool flush);
// Test to see if we have pending ack, feedback, or control frames.
@@ -229,7 +241,8 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
// True if batch mode is currently enabled.
bool batch_mode_;
- // Timeout used for FEC alarm. Can be set to zero.
+ // Timeout used for FEC alarm. Can be set to zero initially or if the SRTT has
+ // not yet been set.
QuicTime::Delta fec_timeout_;
// True if FEC protection is on. The creator may have an open FEC group even
« no previous file with comments | « net/quic/quic_packet_creator.h ('k') | net/quic/quic_packet_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698