Index: net/quic/quic_packet_generator.h |
diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h |
index 1ff04882ae11380f0e1d4aa46e0e2d712a79e4ad..1434451fb6d4648f25ed0357a1fd642928e21d31 100644 |
--- a/net/quic/quic_packet_generator.h |
+++ b/net/quic/quic_packet_generator.h |
@@ -69,6 +69,7 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator { |
IsHandshake handshake) = 0; |
virtual QuicAckFrame* CreateAckFrame() = 0; |
virtual QuicCongestionFeedbackFrame* CreateFeedbackFrame() = 0; |
+ virtual QuicStopWaitingFrame* CreateStopWaitingFrame() = 0; |
// Takes ownership of |packet.packet| and |packet.retransmittable_frames|. |
virtual bool OnSerializedPacket(const SerializedPacket& packet) = 0; |
virtual void CloseConnection(QuicErrorCode error, bool from_peer) = 0; |
@@ -93,9 +94,16 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator { |
// 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 |
+ // STOP_WAITING frame should be sent as well. |
// The contents of the frame(s) will be generated via a call to the delegates |
// CreateAckFrame() and CreateFeedbackFrame() when the packet is serialized. |
- void SetShouldSendAck(bool also_send_feedback); |
+ void SetShouldSendAck(bool also_send_feedback, |
+ bool also_send_stop_waiting); |
+ |
+ // Indicates that a STOP_WAITING frame should be sent. |
+ void SetShouldSendStopWaiting(); |
+ |
void AddControlFrame(const QuicFrame& frame); |
// Given some data, may consume part or all of it and pass it to the |
@@ -155,12 +163,14 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator { |
// Flags to indicate the need for just-in-time construction of a frame. |
bool should_send_ack_; |
bool should_send_feedback_; |
+ bool should_send_stop_waiting_; |
// If we put a non-retransmittable frame (namley ack or feedback frame) in |
// this packet, then we have to hold a reference to it until we flush (and |
// serialize it). Retransmittable frames are referenced elsewhere so that they |
// can later be (optionally) retransmitted. |
scoped_ptr<QuicAckFrame> pending_ack_frame_; |
scoped_ptr<QuicCongestionFeedbackFrame> pending_feedback_frame_; |
+ scoped_ptr<QuicStopWaitingFrame> pending_stop_waiting_frame_; |
DISALLOW_COPY_AND_ASSIGN(QuicPacketGenerator); |
}; |