| 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/test_tools/simple_quic_framer.h" | 5 #include "net/quic/test_tools/simple_quic_framer.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "net/quic/crypto/quic_decrypter.h" | 9 #include "net/quic/crypto/quic_decrypter.h" |
| 10 #include "net/quic/crypto/quic_encrypter.h" | 10 #include "net/quic/crypto/quic_encrypter.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 bool OnProtocolVersionMismatch(QuicVersion version) override { return false; } | 30 bool OnProtocolVersionMismatch(QuicVersion version) override { return false; } |
| 31 | 31 |
| 32 void OnPacket() override {} | 32 void OnPacket() override {} |
| 33 void OnPublicResetPacket(const QuicPublicResetPacket& packet) override { | 33 void OnPublicResetPacket(const QuicPublicResetPacket& packet) override { |
| 34 public_reset_packet_.reset(new QuicPublicResetPacket(packet)); | 34 public_reset_packet_.reset(new QuicPublicResetPacket(packet)); |
| 35 } | 35 } |
| 36 void OnVersionNegotiationPacket( | 36 void OnVersionNegotiationPacket( |
| 37 const QuicVersionNegotiationPacket& packet) override { | 37 const QuicVersionNegotiationPacket& packet) override { |
| 38 version_negotiation_packet_.reset(new QuicVersionNegotiationPacket(packet)); | 38 version_negotiation_packet_.reset(new QuicVersionNegotiationPacket(packet)); |
| 39 } | 39 } |
| 40 void OnRevivedPacket() override {} | |
| 41 | 40 |
| 42 bool OnUnauthenticatedPublicHeader( | 41 bool OnUnauthenticatedPublicHeader( |
| 43 const QuicPacketPublicHeader& header) override { | 42 const QuicPacketPublicHeader& header) override { |
| 44 return true; | 43 return true; |
| 45 } | 44 } |
| 46 bool OnUnauthenticatedHeader(const QuicPacketHeader& header) override { | 45 bool OnUnauthenticatedHeader(const QuicPacketHeader& header) override { |
| 47 return true; | 46 return true; |
| 48 } | 47 } |
| 49 void OnDecryptedPacket(EncryptionLevel level) override {} | 48 void OnDecryptedPacket(EncryptionLevel level) override {} |
| 50 bool OnPacketHeader(const QuicPacketHeader& header) override { | 49 bool OnPacketHeader(const QuicPacketHeader& header) override { |
| 51 has_header_ = true; | 50 has_header_ = true; |
| 52 header_ = header; | 51 header_ = header; |
| 53 return true; | 52 return true; |
| 54 } | 53 } |
| 55 | 54 |
| 56 void OnFecProtectedPayload(StringPiece payload) override {} | |
| 57 | |
| 58 bool OnStreamFrame(const QuicStreamFrame& frame) override { | 55 bool OnStreamFrame(const QuicStreamFrame& frame) override { |
| 59 // Save a copy of the data so it is valid after the packet is processed. | 56 // Save a copy of the data so it is valid after the packet is processed. |
| 60 string* string_data = new string(); | 57 string* string_data = new string(); |
| 61 StringPiece(frame.frame_buffer, frame.frame_length) | 58 StringPiece(frame.frame_buffer, frame.frame_length) |
| 62 .AppendToString(string_data); | 59 .AppendToString(string_data); |
| 63 stream_data_.push_back(string_data); | 60 stream_data_.push_back(string_data); |
| 64 // TODO(ianswett): A pointer isn't necessary with emplace_back. | 61 // TODO(ianswett): A pointer isn't necessary with emplace_back. |
| 65 stream_frames_.push_back(new QuicStreamFrame( | 62 stream_frames_.push_back(new QuicStreamFrame( |
| 66 frame.stream_id, frame.fin, frame.offset, StringPiece(*string_data))); | 63 frame.stream_id, frame.fin, frame.offset, StringPiece(*string_data))); |
| 67 return true; | 64 return true; |
| 68 } | 65 } |
| 69 | 66 |
| 70 bool OnAckFrame(const QuicAckFrame& frame) override { | 67 bool OnAckFrame(const QuicAckFrame& frame) override { |
| 71 ack_frames_.push_back(frame); | 68 ack_frames_.push_back(frame); |
| 72 return true; | 69 return true; |
| 73 } | 70 } |
| 74 | 71 |
| 75 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override { | 72 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override { |
| 76 stop_waiting_frames_.push_back(frame); | 73 stop_waiting_frames_.push_back(frame); |
| 77 return true; | 74 return true; |
| 78 } | 75 } |
| 79 | 76 |
| 80 bool OnPingFrame(const QuicPingFrame& frame) override { | 77 bool OnPingFrame(const QuicPingFrame& frame) override { |
| 81 ping_frames_.push_back(frame); | 78 ping_frames_.push_back(frame); |
| 82 return true; | 79 return true; |
| 83 } | 80 } |
| 84 | 81 |
| 85 void OnFecData(StringPiece redundancy) override { | |
| 86 fec_redundancy_ = redundancy.as_string(); | |
| 87 } | |
| 88 | |
| 89 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override { | 82 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override { |
| 90 rst_stream_frames_.push_back(frame); | 83 rst_stream_frames_.push_back(frame); |
| 91 return true; | 84 return true; |
| 92 } | 85 } |
| 93 | 86 |
| 94 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override { | 87 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override { |
| 95 connection_close_frames_.push_back(frame); | 88 connection_close_frames_.push_back(frame); |
| 96 return true; | 89 return true; |
| 97 } | 90 } |
| 98 | 91 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 129 const vector<QuicRstStreamFrame>& rst_stream_frames() const { | 122 const vector<QuicRstStreamFrame>& rst_stream_frames() const { |
| 130 return rst_stream_frames_; | 123 return rst_stream_frames_; |
| 131 } | 124 } |
| 132 const vector<QuicStreamFrame*>& stream_frames() const { | 125 const vector<QuicStreamFrame*>& stream_frames() const { |
| 133 return stream_frames_; | 126 return stream_frames_; |
| 134 } | 127 } |
| 135 const vector<QuicStopWaitingFrame>& stop_waiting_frames() const { | 128 const vector<QuicStopWaitingFrame>& stop_waiting_frames() const { |
| 136 return stop_waiting_frames_; | 129 return stop_waiting_frames_; |
| 137 } | 130 } |
| 138 const vector<QuicPingFrame>& ping_frames() const { return ping_frames_; } | 131 const vector<QuicPingFrame>& ping_frames() const { return ping_frames_; } |
| 139 StringPiece fec_data() const { return fec_redundancy_; } | |
| 140 const QuicVersionNegotiationPacket* version_negotiation_packet() const { | 132 const QuicVersionNegotiationPacket* version_negotiation_packet() const { |
| 141 return version_negotiation_packet_.get(); | 133 return version_negotiation_packet_.get(); |
| 142 } | 134 } |
| 143 | 135 |
| 144 private: | 136 private: |
| 145 QuicErrorCode error_; | 137 QuicErrorCode error_; |
| 146 bool has_header_; | 138 bool has_header_; |
| 147 QuicPacketHeader header_; | 139 QuicPacketHeader header_; |
| 148 scoped_ptr<QuicVersionNegotiationPacket> version_negotiation_packet_; | 140 scoped_ptr<QuicVersionNegotiationPacket> version_negotiation_packet_; |
| 149 scoped_ptr<QuicPublicResetPacket> public_reset_packet_; | 141 scoped_ptr<QuicPublicResetPacket> public_reset_packet_; |
| 150 string fec_redundancy_; | |
| 151 vector<QuicAckFrame> ack_frames_; | 142 vector<QuicAckFrame> ack_frames_; |
| 152 vector<QuicStopWaitingFrame> stop_waiting_frames_; | 143 vector<QuicStopWaitingFrame> stop_waiting_frames_; |
| 153 vector<QuicPingFrame> ping_frames_; | 144 vector<QuicPingFrame> ping_frames_; |
| 154 vector<QuicStreamFrame*> stream_frames_; | 145 vector<QuicStreamFrame*> stream_frames_; |
| 155 vector<QuicRstStreamFrame> rst_stream_frames_; | 146 vector<QuicRstStreamFrame> rst_stream_frames_; |
| 156 vector<QuicGoAwayFrame> goaway_frames_; | 147 vector<QuicGoAwayFrame> goaway_frames_; |
| 157 vector<QuicConnectionCloseFrame> connection_close_frames_; | 148 vector<QuicConnectionCloseFrame> connection_close_frames_; |
| 158 vector<QuicWindowUpdateFrame> window_update_frames_; | 149 vector<QuicWindowUpdateFrame> window_update_frames_; |
| 159 vector<QuicBlockedFrame> blocked_frames_; | 150 vector<QuicBlockedFrame> blocked_frames_; |
| 160 vector<QuicPathCloseFrame> path_close_frames_; | 151 vector<QuicPathCloseFrame> path_close_frames_; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 180 } | 171 } |
| 181 | 172 |
| 182 void SimpleQuicFramer::Reset() { | 173 void SimpleQuicFramer::Reset() { |
| 183 visitor_.reset(new SimpleFramerVisitor); | 174 visitor_.reset(new SimpleFramerVisitor); |
| 184 } | 175 } |
| 185 | 176 |
| 186 const QuicPacketHeader& SimpleQuicFramer::header() const { | 177 const QuicPacketHeader& SimpleQuicFramer::header() const { |
| 187 return visitor_->header(); | 178 return visitor_->header(); |
| 188 } | 179 } |
| 189 | 180 |
| 190 StringPiece SimpleQuicFramer::fec_data() const { | |
| 191 return visitor_->fec_data(); | |
| 192 } | |
| 193 | |
| 194 const QuicVersionNegotiationPacket* | 181 const QuicVersionNegotiationPacket* |
| 195 SimpleQuicFramer::version_negotiation_packet() const { | 182 SimpleQuicFramer::version_negotiation_packet() const { |
| 196 return visitor_->version_negotiation_packet(); | 183 return visitor_->version_negotiation_packet(); |
| 197 } | 184 } |
| 198 | 185 |
| 199 QuicFramer* SimpleQuicFramer::framer() { | 186 QuicFramer* SimpleQuicFramer::framer() { |
| 200 return &framer_; | 187 return &framer_; |
| 201 } | 188 } |
| 202 | 189 |
| 203 size_t SimpleQuicFramer::num_frames() const { | 190 size_t SimpleQuicFramer::num_frames() const { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 232 return visitor_->goaway_frames(); | 219 return visitor_->goaway_frames(); |
| 233 } | 220 } |
| 234 | 221 |
| 235 const vector<QuicConnectionCloseFrame>& | 222 const vector<QuicConnectionCloseFrame>& |
| 236 SimpleQuicFramer::connection_close_frames() const { | 223 SimpleQuicFramer::connection_close_frames() const { |
| 237 return visitor_->connection_close_frames(); | 224 return visitor_->connection_close_frames(); |
| 238 } | 225 } |
| 239 | 226 |
| 240 } // namespace test | 227 } // namespace test |
| 241 } // namespace net | 228 } // namespace net |
| OLD | NEW |