| 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 // Accumulates frames for the next packet until more frames no longer fit or | 5 // Accumulates frames for the next packet until more frames no longer fit or |
| 6 // it's time to create a packet from them. Also provides packet creation of | 6 // it's time to create a packet from them. Also provides packet creation of |
| 7 // FEC packets based on previously created packets. If multipath enabled, only | 7 // FEC packets based on previously created packets. If multipath enabled, only |
| 8 // creates packets on one path at the same time. Currently, next packet number | 8 // creates packets on one path at the same time. Currently, next packet number |
| 9 // is tracked per-path. | 9 // is tracked per-path. |
| 10 | 10 |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 FecProtection fec_protection); | 131 FecProtection fec_protection); |
| 132 | 132 |
| 133 // Returns true if current open packet can accommodate more stream frames of | 133 // Returns true if current open packet can accommodate more stream frames of |
| 134 // stream |id| at |offset|, false otherwise. | 134 // stream |id| at |offset|, false otherwise. |
| 135 bool HasRoomForStreamFrame(QuicStreamId id, QuicStreamOffset offset); | 135 bool HasRoomForStreamFrame(QuicStreamId id, QuicStreamOffset offset); |
| 136 | 136 |
| 137 // Re-serializes frames with the original packet's packet number length. | 137 // Re-serializes frames with the original packet's packet number length. |
| 138 // Used for retransmitting packets to ensure they aren't too long. | 138 // Used for retransmitting packets to ensure they aren't too long. |
| 139 // Caller must ensure that any open FEC group is closed before calling this | 139 // Caller must ensure that any open FEC group is closed before calling this |
| 140 // method. | 140 // method. |
| 141 SerializedPacket ReserializeAllFrames( | 141 void ReserializeAllFrames(const PendingRetransmission& retransmission, |
| 142 const PendingRetransmission& retransmission, | 142 char* buffer, |
| 143 char* buffer, | 143 size_t buffer_len); |
| 144 size_t buffer_len); | |
| 145 | 144 |
| 146 // Serializes all added frames into a single packet and invokes the delegate_ | 145 // Serializes all added frames into a single packet and invokes the delegate_ |
| 147 // to further process the SerializedPacket. | 146 // to further process the SerializedPacket. |
| 148 void Flush(); | 147 void Flush(); |
| 149 | 148 |
| 150 // Returns true if there are frames pending to be serialized. | 149 // Returns true if there are frames pending to be serialized. |
| 151 bool HasPendingFrames() const; | 150 bool HasPendingFrames() const; |
| 152 | 151 |
| 153 // Returns true if there are retransmittable frames pending to be serialized. | 152 // Returns true if there are retransmittable frames pending to be serialized. |
| 154 bool HasPendingRetransmittableFrames() const; | 153 bool HasPendingRetransmittableFrames() const; |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 // The multiplication factor for FEC timeout based on RTT. | 415 // The multiplication factor for FEC timeout based on RTT. |
| 417 // TODO(rtenneti): Delete this code after the 0.25 RTT FEC experiment. | 416 // TODO(rtenneti): Delete this code after the 0.25 RTT FEC experiment. |
| 418 float rtt_multiplier_for_fec_timeout_; | 417 float rtt_multiplier_for_fec_timeout_; |
| 419 | 418 |
| 420 DISALLOW_COPY_AND_ASSIGN(QuicPacketCreator); | 419 DISALLOW_COPY_AND_ASSIGN(QuicPacketCreator); |
| 421 }; | 420 }; |
| 422 | 421 |
| 423 } // namespace net | 422 } // namespace net |
| 424 | 423 |
| 425 #endif // NET_QUIC_QUIC_PACKET_CREATOR_H_ | 424 #endif // NET_QUIC_QUIC_PACKET_CREATOR_H_ |
| OLD | NEW |