| Index: net/quic/quic_packet_generator.h
|
| diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h
|
| index 957477a2da427d9037e9fec45973d62cca4e1f75..e9c773b910ae3dd2ea2a4b97ffe08c82aa02d528 100644
|
| --- a/net/quic/quic_packet_generator.h
|
| +++ b/net/quic/quic_packet_generator.h
|
| @@ -58,6 +58,10 @@
|
|
|
| namespace net {
|
|
|
| +namespace test {
|
| +class QuicPacketGeneratorPeer;
|
| +} // namespace test
|
| +
|
| class QuicAckNotifier;
|
|
|
| class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| @@ -137,6 +141,30 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| }
|
|
|
| private:
|
| + friend class test::QuicPacketGeneratorPeer;
|
| +
|
| + // Turn on FEC protection for subsequent packets in the generator.
|
| + // If no FEC group is currently open in the creator, this method flushes any
|
| + // queued frames in the generator and in the creator, and it then turns FEC on
|
| + // in the creator. This method may be called with an open FEC group in the
|
| + // creator, in which case, only the generator's state is altered.
|
| + void MaybeStartFecProtection();
|
| +
|
| + // Turn off FEC protection for subsequent packets. If |force| is true,
|
| + // force-closes any open FEC group, sends out an FEC packet if one was under
|
| + // construction, and turns off protection in the generator and creator. If
|
| + // |force| is false, does the same as above if the creator is ready to send
|
| + // and FEC packet. Note that when |force| is false, the creator may still have
|
| + // an open FEC group after this method runs.
|
| + void MaybeStopFecProtection(bool force);
|
| +
|
| + // Serializes and calls the delegate on an FEC packet if one was under
|
| + // construction in the creator. When |force| is false, it relies on the
|
| + // creator being ready to send an FEC packet, otherwise FEC packet is sent
|
| + // as long as one is under construction in the creator. Also tries to turns
|
| + // off FEC protection in the creator if it's off in the generator.
|
| + void MaybeSendFecPacketAndCloseGroup(bool force);
|
| +
|
| void SendQueuedFrames(bool flush);
|
|
|
| // Test to see if we have pending ack, feedback, or control frames.
|
| @@ -161,6 +189,9 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| // True if batch mode is currently enabled.
|
| bool batch_mode_;
|
|
|
| + // True if FEC protection is on.
|
| + bool should_fec_protect_;
|
| +
|
| // Flags to indicate the need for just-in-time construction of a frame.
|
| bool should_send_ack_;
|
| bool should_send_feedback_;
|
|
|