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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 void FlushAllQueuedFrames(); | 113 void FlushAllQueuedFrames(); |
114 | 114 |
115 bool HasQueuedFrames() const; | 115 bool HasQueuedFrames() const; |
116 | 116 |
117 // Whether the pending packet has no frames in it at the moment. | 117 // Whether the pending packet has no frames in it at the moment. |
118 bool IsPendingPacketEmpty() const; | 118 bool IsPendingPacketEmpty() const; |
119 | 119 |
120 // Makes the framer not serialize the protocol version in sent packets. | 120 // Makes the framer not serialize the protocol version in sent packets. |
121 void StopSendingVersion(); | 121 void StopSendingVersion(); |
122 | 122 |
| 123 // SetDiversificationNonce sets the nonce that will be sent in each public |
| 124 // header of packets encrypted at the initial encryption level. Should only |
| 125 // be called by servers. |
| 126 void SetDiversificationNonce(const DiversificationNonce nonce); |
| 127 |
123 // Creates a version negotiation packet which supports |supported_versions|. | 128 // Creates a version negotiation packet which supports |supported_versions|. |
124 // Caller owns the created packet. Also, sets the entropy hash of the | 129 // Caller owns the created packet. Also, sets the entropy hash of the |
125 // serialized packet to a random bool and returns that value as a member of | 130 // serialized packet to a random bool and returns that value as a member of |
126 // SerializedPacket. | 131 // SerializedPacket. |
127 QuicEncryptedPacket* SerializeVersionNegotiationPacket( | 132 QuicEncryptedPacket* SerializeVersionNegotiationPacket( |
128 const QuicVersionVector& supported_versions); | 133 const QuicVersionVector& supported_versions); |
129 | 134 |
130 // Re-serializes frames with the original packet's packet number length. | 135 // Re-serializes frames with the original packet's packet number length. |
131 // Used for retransmitting packets to ensure they aren't too long. | 136 // Used for retransmitting packets to ensure they aren't too long. |
132 void ReserializeAllFrames(const PendingRetransmission& retransmission, | 137 void ReserializeAllFrames(const PendingRetransmission& retransmission, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 // retransmitted. | 207 // retransmitted. |
203 QuicAckFrame pending_ack_frame_; | 208 QuicAckFrame pending_ack_frame_; |
204 QuicStopWaitingFrame pending_stop_waiting_frame_; | 209 QuicStopWaitingFrame pending_stop_waiting_frame_; |
205 | 210 |
206 DISALLOW_COPY_AND_ASSIGN(QuicPacketGenerator); | 211 DISALLOW_COPY_AND_ASSIGN(QuicPacketGenerator); |
207 }; | 212 }; |
208 | 213 |
209 } // namespace net | 214 } // namespace net |
210 | 215 |
211 #endif // NET_QUIC_QUIC_PACKET_GENERATOR_H_ | 216 #endif // NET_QUIC_QUIC_PACKET_GENERATOR_H_ |
OLD | NEW |