| Index: net/quic/quic_packet_creator.cc
|
| diff --git a/net/quic/quic_packet_creator.cc b/net/quic/quic_packet_creator.cc
|
| index 3dcfe6e06b98f9bdb435b298b4136c6fb9cdec03..18a719a42343ba4d3d9d2b683d7543ece3f9864e 100644
|
| --- a/net/quic/quic_packet_creator.cc
|
| +++ b/net/quic/quic_packet_creator.cc
|
| @@ -266,7 +266,7 @@ size_t QuicPacketCreator::CreateStreamFrame(QuicStreamId id,
|
| QuicStreamOffset offset,
|
| bool fin,
|
| QuicFrame* frame,
|
| - scoped_ptr<char[]>* buffer) {
|
| + UniqueStreamBuffer* buffer) {
|
| DCHECK_GT(max_packet_length_,
|
| StreamFramePacketOverhead(connection_id_length_, kIncludeVersion,
|
| PACKET_6BYTE_PACKET_NUMBER, offset,
|
| @@ -294,7 +294,7 @@ size_t QuicPacketCreator::CreateStreamFrame(QuicStreamId id,
|
| size_t bytes_consumed = min<size_t>(BytesFree() - min_frame_size, data_size);
|
|
|
| bool set_fin = fin && bytes_consumed == data_size; // Last frame.
|
| - buffer->reset(new char[bytes_consumed]);
|
| + *buffer = NewStreamBuffer(bytes_consumed);
|
| CopyToBuffer(iov, iov_offset, bytes_consumed, buffer->get());
|
| *frame = QuicFrame(new QuicStreamFrame(
|
| id, set_fin, offset, StringPiece(buffer->get(), bytes_consumed)));
|
| @@ -417,17 +417,18 @@ bool QuicPacketCreator::AddSavedFrame(const QuicFrame& frame) {
|
| /*needs_padding=*/false, nullptr);
|
| }
|
|
|
| -bool QuicPacketCreator::AddSavedFrame(const QuicFrame& frame, char* buffer) {
|
| +bool QuicPacketCreator::AddSavedFrame(const QuicFrame& frame,
|
| + UniqueStreamBuffer buffer) {
|
| return AddFrame(frame,
|
| /*save_retransmittable_frames=*/true,
|
| - /*needs_padding=*/false, buffer);
|
| + /*needs_padding=*/false, buffer.Pass());
|
| }
|
|
|
| bool QuicPacketCreator::AddPaddedSavedFrame(const QuicFrame& frame,
|
| - char* buffer) {
|
| + UniqueStreamBuffer buffer) {
|
| return AddFrame(frame,
|
| /*save_retransmittable_frames=*/true,
|
| - /*needs_padding=*/true, buffer);
|
| + /*needs_padding=*/true, buffer.Pass());
|
| }
|
|
|
| SerializedPacket QuicPacketCreator::SerializePacket(
|
| @@ -596,7 +597,7 @@ bool QuicPacketCreator::ShouldRetransmit(const QuicFrame& frame) {
|
| bool QuicPacketCreator::AddFrame(const QuicFrame& frame,
|
| bool save_retransmittable_frames,
|
| bool needs_padding,
|
| - char* buffer) {
|
| + UniqueStreamBuffer buffer) {
|
| DVLOG(1) << "Adding frame: " << frame;
|
| InFecGroup is_in_fec_group = MaybeUpdateLengthsAndStartFec();
|
|
|
| @@ -615,7 +616,7 @@ bool QuicPacketCreator::AddFrame(const QuicFrame& frame,
|
| new RetransmittableFrames(encryption_level_));
|
| }
|
| queued_frames_.push_back(
|
| - queued_retransmittable_frames_->AddFrame(frame, buffer));
|
| + queued_retransmittable_frames_->AddFrame(frame, buffer.Pass()));
|
| } else {
|
| queued_frames_.push_back(frame);
|
| }
|
|
|