| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/quic_test_packet_maker.h" | 5 #include "net/quic/test_tools/quic_test_packet_maker.h" |
| 6 | 6 |
| 7 #include <list> | 7 #include <list> |
| 8 | 8 |
| 9 #include "net/quic/quic_framer.h" | 9 #include "net/quic/quic_framer.h" |
| 10 #include "net/quic/quic_http_utils.h" | 10 #include "net/quic/quic_http_utils.h" |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 QuicStreamFrame frame(stream_id, fin, offset, data); | 169 QuicStreamFrame frame(stream_id, fin, offset, data); |
| 170 return MakePacket(header_, QuicFrame(&frame)); | 170 return MakePacket(header_, QuicFrame(&frame)); |
| 171 } | 171 } |
| 172 | 172 |
| 173 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket( | 173 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket( |
| 174 QuicPacketNumber packet_number, | 174 QuicPacketNumber packet_number, |
| 175 QuicStreamId stream_id, | 175 QuicStreamId stream_id, |
| 176 bool should_include_version, | 176 bool should_include_version, |
| 177 bool fin, | 177 bool fin, |
| 178 QuicPriority priority, | 178 QuicPriority priority, |
| 179 const SpdyHeaderBlock& headers) { | 179 const SpdyHeaderBlock& headers, |
| 180 size_t* spdy_headers_frame_length) { |
| 180 InitializeHeader(packet_number, should_include_version); | 181 InitializeHeader(packet_number, should_include_version); |
| 181 scoped_ptr<SpdySerializedFrame> spdy_frame; | 182 scoped_ptr<SpdySerializedFrame> spdy_frame; |
| 182 if (spdy_request_framer_.protocol_version() == SPDY3) { | 183 if (spdy_request_framer_.protocol_version() == SPDY3) { |
| 183 SpdySynStreamIR syn_stream(stream_id); | 184 SpdySynStreamIR syn_stream(stream_id); |
| 184 syn_stream.set_header_block(headers); | 185 syn_stream.set_header_block(headers); |
| 185 syn_stream.set_fin(fin); | 186 syn_stream.set_fin(fin); |
| 186 syn_stream.set_priority(priority); | 187 syn_stream.set_priority(priority); |
| 187 spdy_frame.reset(spdy_request_framer_.SerializeSynStream(syn_stream)); | 188 spdy_frame.reset(spdy_request_framer_.SerializeSynStream(syn_stream)); |
| 188 } else { | 189 } else { |
| 189 SpdyHeadersIR headers_frame(stream_id); | 190 SpdyHeadersIR headers_frame(stream_id); |
| 190 headers_frame.set_header_block(headers); | 191 headers_frame.set_header_block(headers); |
| 191 headers_frame.set_fin(fin); | 192 headers_frame.set_fin(fin); |
| 192 headers_frame.set_priority(priority); | 193 headers_frame.set_priority(priority); |
| 193 headers_frame.set_has_priority(true); | 194 headers_frame.set_has_priority(true); |
| 194 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); | 195 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); |
| 195 } | 196 } |
| 197 if (spdy_headers_frame_length) { |
| 198 *spdy_headers_frame_length = spdy_frame->size(); |
| 199 } |
| 196 QuicStreamFrame frame( | 200 QuicStreamFrame frame( |
| 197 kHeadersStreamId, false, 0, | 201 kHeadersStreamId, false, 0, |
| 198 base::StringPiece(spdy_frame->data(), spdy_frame->size())); | 202 base::StringPiece(spdy_frame->data(), spdy_frame->size())); |
| 199 return MakePacket(header_, QuicFrame(&frame)); | 203 return MakePacket(header_, QuicFrame(&frame)); |
| 200 } | 204 } |
| 201 | 205 |
| 206 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket( |
| 207 QuicPacketNumber packet_number, |
| 208 QuicStreamId stream_id, |
| 209 bool should_include_version, |
| 210 bool fin, |
| 211 QuicPriority priority, |
| 212 const SpdyHeaderBlock& headers) { |
| 213 return MakeRequestHeadersPacket(packet_number, stream_id, |
| 214 should_include_version, fin, priority, |
| 215 headers, nullptr); |
| 216 } |
| 217 |
| 202 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket( | 218 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket( |
| 203 QuicPacketNumber packet_number, | 219 QuicPacketNumber packet_number, |
| 204 QuicStreamId stream_id, | 220 QuicStreamId stream_id, |
| 205 bool should_include_version, | 221 bool should_include_version, |
| 206 bool fin, | 222 bool fin, |
| 207 const SpdyHeaderBlock& headers) { | 223 const SpdyHeaderBlock& headers, |
| 224 size_t* spdy_headers_frame_length) { |
| 208 InitializeHeader(packet_number, should_include_version); | 225 InitializeHeader(packet_number, should_include_version); |
| 209 scoped_ptr<SpdySerializedFrame> spdy_frame; | 226 scoped_ptr<SpdySerializedFrame> spdy_frame; |
| 210 if (spdy_request_framer_.protocol_version() == SPDY3) { | 227 if (spdy_request_framer_.protocol_version() == SPDY3) { |
| 211 SpdySynReplyIR syn_reply(stream_id); | 228 SpdySynReplyIR syn_reply(stream_id); |
| 212 syn_reply.set_header_block(headers); | 229 syn_reply.set_header_block(headers); |
| 213 syn_reply.set_fin(fin); | 230 syn_reply.set_fin(fin); |
| 214 spdy_frame.reset(spdy_response_framer_.SerializeSynReply(syn_reply)); | 231 spdy_frame.reset(spdy_response_framer_.SerializeSynReply(syn_reply)); |
| 215 } else { | 232 } else { |
| 216 SpdyHeadersIR headers_frame(stream_id); | 233 SpdyHeadersIR headers_frame(stream_id); |
| 217 headers_frame.set_header_block(headers); | 234 headers_frame.set_header_block(headers); |
| 218 headers_frame.set_fin(fin); | 235 headers_frame.set_fin(fin); |
| 219 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); | 236 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); |
| 220 } | 237 } |
| 238 if (spdy_headers_frame_length) { |
| 239 *spdy_headers_frame_length = spdy_frame->size(); |
| 240 } |
| 221 QuicStreamFrame frame( | 241 QuicStreamFrame frame( |
| 222 kHeadersStreamId, false, 0, | 242 kHeadersStreamId, false, 0, |
| 223 base::StringPiece(spdy_frame->data(), spdy_frame->size())); | 243 base::StringPiece(spdy_frame->data(), spdy_frame->size())); |
| 224 return MakePacket(header_, QuicFrame(&frame)); | 244 return MakePacket(header_, QuicFrame(&frame)); |
| 225 } | 245 } |
| 226 | 246 |
| 247 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket( |
| 248 QuicPacketNumber packet_number, |
| 249 QuicStreamId stream_id, |
| 250 bool should_include_version, |
| 251 bool fin, |
| 252 const SpdyHeaderBlock& headers) { |
| 253 return MakeResponseHeadersPacket( |
| 254 packet_number, stream_id, should_include_version, fin, headers, nullptr); |
| 255 } |
| 256 |
| 227 SpdyHeaderBlock QuicTestPacketMaker::GetRequestHeaders( | 257 SpdyHeaderBlock QuicTestPacketMaker::GetRequestHeaders( |
| 228 const std::string& method, | 258 const std::string& method, |
| 229 const std::string& scheme, | 259 const std::string& scheme, |
| 230 const std::string& path) { | 260 const std::string& path) { |
| 231 SpdyHeaderBlock headers; | 261 SpdyHeaderBlock headers; |
| 232 if (version_ <= QUIC_VERSION_24) { | 262 if (version_ <= QUIC_VERSION_24) { |
| 233 headers[":host"] = host_; | 263 headers[":host"] = host_; |
| 234 } else { | 264 } else { |
| 235 headers[":authority"] = host_; | 265 headers[":authority"] = host_; |
| 236 } | 266 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 header_.public_header.version_flag = should_include_version; | 308 header_.public_header.version_flag = should_include_version; |
| 279 header_.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER; | 309 header_.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER; |
| 280 header_.packet_packet_number = packet_number; | 310 header_.packet_packet_number = packet_number; |
| 281 header_.fec_group = 0; | 311 header_.fec_group = 0; |
| 282 header_.entropy_flag = false; | 312 header_.entropy_flag = false; |
| 283 header_.fec_flag = false; | 313 header_.fec_flag = false; |
| 284 } | 314 } |
| 285 | 315 |
| 286 } // namespace test | 316 } // namespace test |
| 287 } // namespace net | 317 } // namespace net |
| OLD | NEW |