| Index: net/quic/quic_protocol.cc
|
| diff --git a/net/quic/quic_protocol.cc b/net/quic/quic_protocol.cc
|
| index 5625d6c9500b513270410bdacbdab36a3fbd587a..d281358f9814b46ba2349d6038cd3c9f2548cf90 100644
|
| --- a/net/quic/quic_protocol.cc
|
| +++ b/net/quic/quic_protocol.cc
|
| @@ -91,6 +91,10 @@ QuicPublicResetPacket::QuicPublicResetPacket(
|
| const QuicPacketPublicHeader& header)
|
| : public_header(header), nonce_proof(0), rejected_packet_number(0) {}
|
|
|
| +UniqueStreamBuffer NewStreamBuffer(size_t size) {
|
| + return UniqueStreamBuffer(new char[size]);
|
| +}
|
| +
|
| QuicStreamFrame::QuicStreamFrame() : stream_id(0), fin(false), offset(0) {
|
| }
|
|
|
| @@ -820,6 +824,8 @@ RetransmittableFrames::~RetransmittableFrames() {
|
| DCHECK(false) << "Cannot delete type: " << it->type;
|
| }
|
| }
|
| + // TODO(rtenneti): Delete the for loop once chrome has c++11 library support
|
| + // for "std::vector<UniqueStreamBuffer> stream_data_;".
|
| for (const char* buffer : stream_data_) {
|
| delete[] buffer;
|
| }
|
| @@ -830,13 +836,13 @@ const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame) {
|
| }
|
|
|
| const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame,
|
| - char* buffer) {
|
| + UniqueStreamBuffer buffer) {
|
| if (frame.type == STREAM_FRAME &&
|
| frame.stream_frame->stream_id == kCryptoStreamId) {
|
| has_crypto_handshake_ = IS_HANDSHAKE;
|
| }
|
| if (buffer != nullptr) {
|
| - stream_data_.push_back(buffer);
|
| + stream_data_.push_back(buffer.release());
|
| }
|
| frames_.push_back(frame);
|
| return frames_.back();
|
|
|