| Index: net/quic/quic_packet_generator.h
|
| diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h
|
| index 2882aab5e0095bf8f7a7ca18cd0571fcf2860947..f35f9bd52a07490fc6de6f8f12358494c01f7e3d 100644
|
| --- a/net/quic/quic_packet_generator.h
|
| +++ b/net/quic/quic_packet_generator.h
|
| @@ -53,6 +53,7 @@
|
| #ifndef NET_QUIC_QUIC_PACKET_GENERATOR_H_
|
| #define NET_QUIC_QUIC_PACKET_GENERATOR_H_
|
|
|
| +#include "net/quic/quic_ack_notifier.h"
|
| #include "net/quic/quic_packet_creator.h"
|
| #include "net/quic/quic_sent_packet_manager.h"
|
| #include "net/quic/quic_types.h"
|
| @@ -63,8 +64,6 @@ namespace test {
|
| class QuicPacketGeneratorPeer;
|
| } // namespace test
|
|
|
| -class QuicAckNotifier;
|
| -
|
| class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| public:
|
| class NET_EXPORT_PRIVATE DelegateInterface {
|
| @@ -102,6 +101,9 @@ class NET_EXPORT_PRIVATE 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_feedback| is
|
| // true, then it also indicates a CONGESTION_FEEDBACK frame should be sent.
|
| // If |also_send_stop_waiting| is true, then it also indicates that a
|
| @@ -118,17 +120,15 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
|
|
| // Given some data, may consume part or all of it and pass it to the
|
| // packet creator to be serialized into packets. If not in batch
|
| - // mode, these packets will also be sent during this call. Also
|
| - // attaches a QuicAckNotifier to any created stream frames, which
|
| - // will be called once the frame is ACKed by the peer. The
|
| - // QuicAckNotifier is owned by the QuicConnection. |notifier| may
|
| - // be nullptr.
|
| + // mode, these packets will also be sent during this call.
|
| + // |delegate| (if not nullptr) will be informed once all packets sent as a
|
| + // result of this call are ACKed by the peer.
|
| QuicConsumedData ConsumeData(QuicStreamId id,
|
| const IOVector& data,
|
| QuicStreamOffset offset,
|
| bool fin,
|
| FecProtection fec_protection,
|
| - QuicAckNotifier* notifier);
|
| + QuicAckNotifier::DelegateInterface* delegate);
|
|
|
| // Indicates whether batch mode is currently enabled.
|
| bool InBatchMode();
|
| @@ -185,6 +185,8 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| debug_delegate_ = debug_delegate;
|
| }
|
|
|
| + QuicTime::Delta fec_timeout() { return fec_timeout_; }
|
| +
|
| private:
|
| friend class test::QuicPacketGeneratorPeer;
|
|
|
| @@ -226,6 +228,9 @@ 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.
|
| + QuicTime::Delta fec_timeout_;
|
| +
|
| // True if FEC protection is on. The creator may have an open FEC group even
|
| // if this variable is false.
|
| bool should_fec_protect_;
|
|
|