OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // Responsible for generating packets on behalf of a QuicConnection. | 5 // Responsible for generating packets on behalf of a QuicConnection. |
6 // Packets are serialized just-in-time. Control frames are queued. | 6 // Packets are serialized just-in-time. Control frames are queued. |
7 // Ack and Feedback frames will be requested from the Connection | 7 // Ack and Feedback frames will be requested from the Connection |
8 // just-in-time. When a packet needs to be sent, the Generator | 8 // just-in-time. When a packet needs to be sent, the Generator |
9 // will serialize a packet and pass it to QuicConnection::SendOrQueuePacket() | 9 // will serialize a packet and pass it to QuicConnection::SendOrQueuePacket() |
10 // | 10 // |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 QuicPacketCreator* creator); | 91 QuicPacketCreator* creator); |
92 | 92 |
93 virtual ~QuicPacketGenerator(); | 93 virtual ~QuicPacketGenerator(); |
94 | 94 |
95 // Indicates that an ACK frame should be sent. If |also_send_feedback| is | 95 // Indicates that an ACK frame should be sent. If |also_send_feedback| is |
96 // true, then it also indicates a CONGESTION_FEEDBACK frame should be sent. | 96 // true, then it also indicates a CONGESTION_FEEDBACK frame should be sent. |
97 // If |also_send_stop_waiting| is true, then it also indicates that a | 97 // If |also_send_stop_waiting| is true, then it also indicates that a |
98 // STOP_WAITING frame should be sent as well. | 98 // STOP_WAITING frame should be sent as well. |
99 // The contents of the frame(s) will be generated via a call to the delegates | 99 // The contents of the frame(s) will be generated via a call to the delegates |
100 // CreateAckFrame() and CreateFeedbackFrame() when the packet is serialized. | 100 // CreateAckFrame() and CreateFeedbackFrame() when the packet is serialized. |
101 void SetShouldSendAck(bool also_send_feedback, | 101 void SetShouldSendAck(bool also_send_feedback, bool also_send_stop_waiting); |
102 bool also_send_stop_waiting); | |
103 | 102 |
104 // Indicates that a STOP_WAITING frame should be sent. | 103 // Indicates that a STOP_WAITING frame should be sent. |
105 void SetShouldSendStopWaiting(); | 104 void SetShouldSendStopWaiting(); |
106 | 105 |
107 void AddControlFrame(const QuicFrame& frame); | 106 void AddControlFrame(const QuicFrame& frame); |
108 | 107 |
109 // Given some data, may consume part or all of it and pass it to the | 108 // Given some data, may consume part or all of it and pass it to the |
110 // packet creator to be serialized into packets. If not in batch | 109 // packet creator to be serialized into packets. If not in batch |
111 // mode, these packets will also be sent during this call. Also | 110 // mode, these packets will also be sent during this call. Also |
112 // attaches a QuicAckNotifier to any created stream frames, which | 111 // attaches a QuicAckNotifier to any created stream frames, which |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 scoped_ptr<QuicAckFrame> pending_ack_frame_; | 170 scoped_ptr<QuicAckFrame> pending_ack_frame_; |
172 scoped_ptr<QuicCongestionFeedbackFrame> pending_feedback_frame_; | 171 scoped_ptr<QuicCongestionFeedbackFrame> pending_feedback_frame_; |
173 scoped_ptr<QuicStopWaitingFrame> pending_stop_waiting_frame_; | 172 scoped_ptr<QuicStopWaitingFrame> pending_stop_waiting_frame_; |
174 | 173 |
175 DISALLOW_COPY_AND_ASSIGN(QuicPacketGenerator); | 174 DISALLOW_COPY_AND_ASSIGN(QuicPacketGenerator); |
176 }; | 175 }; |
177 | 176 |
178 } // namespace net | 177 } // namespace net |
179 | 178 |
180 #endif // NET_QUIC_QUIC_PACKET_GENERATOR_H_ | 179 #endif // NET_QUIC_QUIC_PACKET_GENERATOR_H_ |
OLD | NEW |