| 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 #include "net/quic/quic_protocol.h" | 5 #include "net/quic/quic_protocol.h" |
| 6 | 6 |
| 7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
| 8 #include "net/quic/quic_flags.h" | 8 #include "net/quic/quic_flags.h" |
| 9 #include "net/quic/quic_utils.h" | 9 #include "net/quic/quic_utils.h" |
| 10 | 10 |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 is_in_fec_group(NOT_IN_FEC_GROUP), | 84 is_in_fec_group(NOT_IN_FEC_GROUP), |
| 85 fec_group(0) {} | 85 fec_group(0) {} |
| 86 | 86 |
| 87 QuicPublicResetPacket::QuicPublicResetPacket() | 87 QuicPublicResetPacket::QuicPublicResetPacket() |
| 88 : nonce_proof(0), rejected_packet_number(0) {} | 88 : nonce_proof(0), rejected_packet_number(0) {} |
| 89 | 89 |
| 90 QuicPublicResetPacket::QuicPublicResetPacket( | 90 QuicPublicResetPacket::QuicPublicResetPacket( |
| 91 const QuicPacketPublicHeader& header) | 91 const QuicPacketPublicHeader& header) |
| 92 : public_header(header), nonce_proof(0), rejected_packet_number(0) {} | 92 : public_header(header), nonce_proof(0), rejected_packet_number(0) {} |
| 93 | 93 |
| 94 UniqueStreamBuffer NewStreamBuffer(size_t size) { |
| 95 return UniqueStreamBuffer(new char[size]); |
| 96 } |
| 97 |
| 94 QuicStreamFrame::QuicStreamFrame() : stream_id(0), fin(false), offset(0) { | 98 QuicStreamFrame::QuicStreamFrame() : stream_id(0), fin(false), offset(0) { |
| 95 } | 99 } |
| 96 | 100 |
| 97 QuicStreamFrame::QuicStreamFrame(const QuicStreamFrame& frame) | 101 QuicStreamFrame::QuicStreamFrame(const QuicStreamFrame& frame) |
| 98 : stream_id(frame.stream_id), | 102 : stream_id(frame.stream_id), |
| 99 fin(frame.fin), | 103 fin(frame.fin), |
| 100 offset(frame.offset), | 104 offset(frame.offset), |
| 101 data(frame.data) { | 105 data(frame.data) { |
| 102 } | 106 } |
| 103 | 107 |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 case WINDOW_UPDATE_FRAME: | 817 case WINDOW_UPDATE_FRAME: |
| 814 delete it->window_update_frame; | 818 delete it->window_update_frame; |
| 815 break; | 819 break; |
| 816 case BLOCKED_FRAME: | 820 case BLOCKED_FRAME: |
| 817 delete it->blocked_frame; | 821 delete it->blocked_frame; |
| 818 break; | 822 break; |
| 819 case NUM_FRAME_TYPES: | 823 case NUM_FRAME_TYPES: |
| 820 DCHECK(false) << "Cannot delete type: " << it->type; | 824 DCHECK(false) << "Cannot delete type: " << it->type; |
| 821 } | 825 } |
| 822 } | 826 } |
| 827 // TODO(rtenneti): Delete the for loop once chrome has c++11 library support |
| 828 // for "std::vector<UniqueStreamBuffer> stream_data_;". |
| 823 for (const char* buffer : stream_data_) { | 829 for (const char* buffer : stream_data_) { |
| 824 delete[] buffer; | 830 delete[] buffer; |
| 825 } | 831 } |
| 826 } | 832 } |
| 827 | 833 |
| 828 const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame) { | 834 const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame) { |
| 829 return AddFrame(frame, nullptr); | 835 return AddFrame(frame, nullptr); |
| 830 } | 836 } |
| 831 | 837 |
| 832 const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame, | 838 const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame, |
| 833 char* buffer) { | 839 UniqueStreamBuffer buffer) { |
| 834 if (frame.type == STREAM_FRAME && | 840 if (frame.type == STREAM_FRAME && |
| 835 frame.stream_frame->stream_id == kCryptoStreamId) { | 841 frame.stream_frame->stream_id == kCryptoStreamId) { |
| 836 has_crypto_handshake_ = IS_HANDSHAKE; | 842 has_crypto_handshake_ = IS_HANDSHAKE; |
| 837 } | 843 } |
| 838 if (buffer != nullptr) { | 844 if (buffer != nullptr) { |
| 839 stream_data_.push_back(buffer); | 845 stream_data_.push_back(buffer.release()); |
| 840 } | 846 } |
| 841 frames_.push_back(frame); | 847 frames_.push_back(frame); |
| 842 return frames_.back(); | 848 return frames_.back(); |
| 843 } | 849 } |
| 844 | 850 |
| 845 void RetransmittableFrames::RemoveFramesForStream(QuicStreamId stream_id) { | 851 void RetransmittableFrames::RemoveFramesForStream(QuicStreamId stream_id) { |
| 846 QuicFrames::iterator it = frames_.begin(); | 852 QuicFrames::iterator it = frames_.begin(); |
| 847 while (it != frames_.end()) { | 853 while (it != frames_.end()) { |
| 848 if (it->type != STREAM_FRAME || it->stream_frame->stream_id != stream_id) { | 854 if (it->type != STREAM_FRAME || it->stream_frame->stream_id != stream_id) { |
| 849 ++it; | 855 ++it; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 sent_time(sent_time), | 914 sent_time(sent_time), |
| 909 bytes_sent(bytes_sent), | 915 bytes_sent(bytes_sent), |
| 910 nack_count(0), | 916 nack_count(0), |
| 911 transmission_type(transmission_type), | 917 transmission_type(transmission_type), |
| 912 all_transmissions(nullptr), | 918 all_transmissions(nullptr), |
| 913 in_flight(false), | 919 in_flight(false), |
| 914 is_unackable(false), | 920 is_unackable(false), |
| 915 is_fec_packet(is_fec_packet) {} | 921 is_fec_packet(is_fec_packet) {} |
| 916 | 922 |
| 917 } // namespace net | 923 } // namespace net |
| OLD | NEW |