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 "net/quic/quic_framer.h" | 7 #include "net/quic/quic_framer.h" |
8 #include "net/quic/quic_http_utils.h" | 8 #include "net/quic/quic_http_utils.h" |
9 #include "net/quic/test_tools/quic_test_utils.h" | 9 #include "net/quic/test_tools/quic_test_utils.h" |
10 | 10 |
(...skipping 22 matching lines...) Expand all Loading... |
33 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; | 33 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; |
34 header.packet_sequence_number = num; | 34 header.packet_sequence_number = num; |
35 header.entropy_flag = false; | 35 header.entropy_flag = false; |
36 header.fec_flag = false; | 36 header.fec_flag = false; |
37 header.fec_group = 0; | 37 header.fec_group = 0; |
38 | 38 |
39 QuicRstStreamFrame rst(stream_id, error_code); | 39 QuicRstStreamFrame rst(stream_id, error_code); |
40 return scoped_ptr<QuicEncryptedPacket>(MakePacket(header, QuicFrame(&rst))); | 40 return scoped_ptr<QuicEncryptedPacket>(MakePacket(header, QuicFrame(&rst))); |
41 } | 41 } |
42 | 42 |
| 43 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckAndRstPacket( |
| 44 QuicPacketSequenceNumber num, |
| 45 bool include_version, |
| 46 QuicStreamId stream_id, |
| 47 QuicRstStreamErrorCode error_code, |
| 48 QuicPacketSequenceNumber largest_received, |
| 49 QuicPacketSequenceNumber least_unacked, |
| 50 bool send_feedback) { |
| 51 |
| 52 QuicPacketHeader header; |
| 53 header.public_header.guid = guid_; |
| 54 header.public_header.reset_flag = false; |
| 55 header.public_header.version_flag = include_version; |
| 56 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; |
| 57 header.packet_sequence_number = num; |
| 58 header.entropy_flag = false; |
| 59 header.fec_flag = false; |
| 60 header.fec_group = 0; |
| 61 |
| 62 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); |
| 63 QuicFrames frames; |
| 64 frames.push_back(QuicFrame(&ack)); |
| 65 if (send_feedback) { |
| 66 QuicCongestionFeedbackFrame feedback; |
| 67 feedback.type = kTCP; |
| 68 feedback.tcp.accumulated_number_of_lost_packets = 0; |
| 69 feedback.tcp.receive_window = 256000; |
| 70 |
| 71 frames.push_back(QuicFrame(&feedback)); |
| 72 } |
| 73 |
| 74 QuicRstStreamFrame rst(stream_id, error_code); |
| 75 frames.push_back(QuicFrame(&rst)); |
| 76 |
| 77 QuicFramer framer(SupportedVersions(version_), QuicTime::Zero(), false); |
| 78 scoped_ptr<QuicPacket> packet( |
| 79 framer.BuildUnsizedDataPacket(header, frames).packet); |
| 80 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket( |
| 81 ENCRYPTION_NONE, header.packet_sequence_number, *packet)); |
| 82 } |
| 83 |
43 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeConnectionClosePacket( | 84 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeConnectionClosePacket( |
44 QuicPacketSequenceNumber num) { | 85 QuicPacketSequenceNumber num) { |
45 QuicPacketHeader header; | 86 QuicPacketHeader header; |
46 header.public_header.guid = guid_; | 87 header.public_header.guid = guid_; |
47 header.public_header.reset_flag = false; | 88 header.public_header.reset_flag = false; |
48 header.public_header.version_flag = false; | 89 header.public_header.version_flag = false; |
49 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; | 90 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; |
50 header.packet_sequence_number = num; | 91 header.packet_sequence_number = num; |
51 header.entropy_flag = false; | 92 header.entropy_flag = false; |
52 header.fec_flag = false; | 93 header.fec_flag = false; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 | 248 |
208 std::string QuicTestPacketMaker::SerializeHeaderBlock( | 249 std::string QuicTestPacketMaker::SerializeHeaderBlock( |
209 const SpdyHeaderBlock& headers) { | 250 const SpdyHeaderBlock& headers) { |
210 QuicSpdyCompressor compressor; | 251 QuicSpdyCompressor compressor; |
211 return compressor.CompressHeadersWithPriority( | 252 return compressor.CompressHeadersWithPriority( |
212 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY), headers); | 253 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY), headers); |
213 } | 254 } |
214 | 255 |
215 } // namespace test | 256 } // namespace test |
216 } // namespace net | 257 } // namespace net |
OLD | NEW |