| 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 // Provides a simple interface for QUIC tests to create a variety of packets. | 5 // Provides a simple interface for QUIC tests to create a variety of packets. |
| 6 | 6 |
| 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_PACKET_MAKER_H_ | 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_PACKET_MAKER_H_ |
| 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_PACKET_MAKER_H_ | 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_PACKET_MAKER_H_ |
| 9 | 9 |
| 10 #include <stddef.h> | 10 #include <stddef.h> |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 QuicPacketNumber least_unacked, | 51 QuicPacketNumber least_unacked, |
| 52 QuicErrorCode quic_error, | 52 QuicErrorCode quic_error, |
| 53 std::string& quic_error_details); | 53 std::string& quic_error_details); |
| 54 scoped_ptr<QuicEncryptedPacket> MakeConnectionClosePacket( | 54 scoped_ptr<QuicEncryptedPacket> MakeConnectionClosePacket( |
| 55 QuicPacketNumber num); | 55 QuicPacketNumber num); |
| 56 scoped_ptr<QuicEncryptedPacket> MakeAckPacket( | 56 scoped_ptr<QuicEncryptedPacket> MakeAckPacket( |
| 57 QuicPacketNumber packet_number, | 57 QuicPacketNumber packet_number, |
| 58 QuicPacketNumber largest_received, | 58 QuicPacketNumber largest_received, |
| 59 QuicPacketNumber least_unacked, | 59 QuicPacketNumber least_unacked, |
| 60 bool send_feedback); | 60 bool send_feedback); |
| 61 scoped_ptr<QuicEncryptedPacket> MakeAckPacket( |
| 62 QuicPacketNumber packet_number, |
| 63 QuicPacketNumber largest_received, |
| 64 QuicPacketNumber ack_least_unacked, |
| 65 QuicPacketNumber stop_least_unacked, |
| 66 bool send_feedback); |
| 61 scoped_ptr<QuicEncryptedPacket> MakeDataPacket(QuicPacketNumber packet_number, | 67 scoped_ptr<QuicEncryptedPacket> MakeDataPacket(QuicPacketNumber packet_number, |
| 62 QuicStreamId stream_id, | 68 QuicStreamId stream_id, |
| 63 bool should_include_version, | 69 bool should_include_version, |
| 64 bool fin, | 70 bool fin, |
| 65 QuicStreamOffset offset, | 71 QuicStreamOffset offset, |
| 66 base::StringPiece data); | 72 base::StringPiece data); |
| 67 | 73 |
| 68 // If |spdy_headers_frame_length| is non-null, it will be set to the size of | 74 // If |spdy_headers_frame_length| is non-null, it will be set to the size of |
| 69 // the SPDY headers frame created for this packet. | 75 // the SPDY headers frame created for this packet. |
| 70 scoped_ptr<QuicEncryptedPacket> MakeRequestHeadersPacket( | 76 scoped_ptr<QuicEncryptedPacket> MakeRequestHeadersPacket( |
| 71 QuicPacketNumber packet_number, | 77 QuicPacketNumber packet_number, |
| 72 QuicStreamId stream_id, | 78 QuicStreamId stream_id, |
| 73 bool should_include_version, | 79 bool should_include_version, |
| 74 bool fin, | 80 bool fin, |
| 75 SpdyPriority priority, | 81 SpdyPriority priority, |
| 76 const SpdyHeaderBlock& headers, | 82 const SpdyHeaderBlock& headers, |
| 77 size_t* spdy_headers_frame_length); | 83 size_t* spdy_headers_frame_length); |
| 78 | 84 |
| 79 // Convenience method for calling MakeRequestHeadersPacket with nullptr for | |
| 80 // |spdy_headers_frame_length|. | |
| 81 scoped_ptr<QuicEncryptedPacket> MakeRequestHeadersPacket( | 85 scoped_ptr<QuicEncryptedPacket> MakeRequestHeadersPacket( |
| 82 QuicPacketNumber packet_number, | 86 QuicPacketNumber packet_number, |
| 83 QuicStreamId stream_id, | 87 QuicStreamId stream_id, |
| 84 bool should_include_version, | 88 bool should_include_version, |
| 85 bool fin, | 89 bool fin, |
| 86 SpdyPriority priority, | 90 SpdyPriority priority, |
| 87 const SpdyHeaderBlock& headers); | 91 const SpdyHeaderBlock& headers, |
| 92 size_t* spdy_headers_frame_length, |
| 93 QuicStreamOffset* offset); |
| 94 |
| 95 // Convenience method for calling MakeRequestHeadersPacket with nullptr for |
| 96 // |spdy_headers_frame_length|. |
| 97 scoped_ptr<QuicEncryptedPacket> MakeRequestHeadersPacketWithOffsetTracking( |
| 98 QuicPacketNumber packet_number, |
| 99 QuicStreamId stream_id, |
| 100 bool should_include_version, |
| 101 bool fin, |
| 102 SpdyPriority priority, |
| 103 const SpdyHeaderBlock& headers, |
| 104 QuicStreamOffset* offset); |
| 88 | 105 |
| 89 // If |spdy_headers_frame_length| is non-null, it will be set to the size of | 106 // If |spdy_headers_frame_length| is non-null, it will be set to the size of |
| 90 // the SPDY headers frame created for this packet. | 107 // the SPDY headers frame created for this packet. |
| 91 scoped_ptr<QuicEncryptedPacket> MakeResponseHeadersPacket( | 108 scoped_ptr<QuicEncryptedPacket> MakeResponseHeadersPacket( |
| 92 QuicPacketNumber packet_number, | 109 QuicPacketNumber packet_number, |
| 93 QuicStreamId stream_id, | 110 QuicStreamId stream_id, |
| 94 bool should_include_version, | 111 bool should_include_version, |
| 95 bool fin, | 112 bool fin, |
| 96 const SpdyHeaderBlock& headers, | 113 const SpdyHeaderBlock& headers, |
| 114 size_t* spdy_headers_frame_length, |
| 115 QuicStreamOffset* offset); |
| 116 |
| 117 scoped_ptr<QuicEncryptedPacket> MakeResponseHeadersPacket( |
| 118 QuicPacketNumber packet_number, |
| 119 QuicStreamId stream_id, |
| 120 bool should_include_version, |
| 121 bool fin, |
| 122 const SpdyHeaderBlock& headers, |
| 97 size_t* spdy_headers_frame_length); | 123 size_t* spdy_headers_frame_length); |
| 98 | 124 |
| 99 // Convenience method for calling MakeResponseHeadersPacket with nullptr for | 125 // Convenience method for calling MakeResponseHeadersPacket with nullptr for |
| 100 // |spdy_headers_frame_length|. | 126 // |spdy_headers_frame_length|. |
| 101 scoped_ptr<QuicEncryptedPacket> MakeResponseHeadersPacket( | 127 scoped_ptr<QuicEncryptedPacket> MakeResponseHeadersPacketWithOffsetTracking( |
| 102 QuicPacketNumber packet_number, | 128 QuicPacketNumber packet_number, |
| 103 QuicStreamId stream_id, | 129 QuicStreamId stream_id, |
| 104 bool should_include_version, | 130 bool should_include_version, |
| 105 bool fin, | 131 bool fin, |
| 106 const SpdyHeaderBlock& headers); | 132 const SpdyHeaderBlock& headers, |
| 133 QuicStreamOffset* offset); |
| 107 | 134 |
| 108 SpdyHeaderBlock GetRequestHeaders(const std::string& method, | 135 SpdyHeaderBlock GetRequestHeaders(const std::string& method, |
| 109 const std::string& scheme, | 136 const std::string& scheme, |
| 110 const std::string& path); | 137 const std::string& path); |
| 111 SpdyHeaderBlock GetResponseHeaders(const std::string& status); | 138 SpdyHeaderBlock GetResponseHeaders(const std::string& status); |
| 112 | 139 |
| 140 SpdyHeaderBlock GetResponseHeaders(const std::string& status, |
| 141 const std::string& alt_svc); |
| 142 |
| 113 private: | 143 private: |
| 114 scoped_ptr<QuicEncryptedPacket> MakePacket(const QuicPacketHeader& header, | 144 scoped_ptr<QuicEncryptedPacket> MakePacket(const QuicPacketHeader& header, |
| 115 const QuicFrame& frame); | 145 const QuicFrame& frame); |
| 116 | 146 |
| 117 void InitializeHeader(QuicPacketNumber packet_number, | 147 void InitializeHeader(QuicPacketNumber packet_number, |
| 118 bool should_include_version); | 148 bool should_include_version); |
| 119 | 149 |
| 120 QuicVersion version_; | 150 QuicVersion version_; |
| 121 QuicConnectionId connection_id_; | 151 QuicConnectionId connection_id_; |
| 122 MockClock* clock_; // Owned by QuicStreamFactory. | 152 MockClock* clock_; // Owned by QuicStreamFactory. |
| 123 std::string host_; | 153 std::string host_; |
| 124 SpdyFramer spdy_request_framer_; | 154 SpdyFramer spdy_request_framer_; |
| 125 SpdyFramer spdy_response_framer_; | 155 SpdyFramer spdy_response_framer_; |
| 126 MockRandom random_generator_; | 156 MockRandom random_generator_; |
| 127 QuicPacketHeader header_; | 157 QuicPacketHeader header_; |
| 128 | 158 |
| 129 DISALLOW_COPY_AND_ASSIGN(QuicTestPacketMaker); | 159 DISALLOW_COPY_AND_ASSIGN(QuicTestPacketMaker); |
| 130 }; | 160 }; |
| 131 | 161 |
| 132 } // namespace test | 162 } // namespace test |
| 133 } // namespace net | 163 } // namespace net |
| 134 | 164 |
| 135 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_PACKET_MAKER_H_ | 165 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_PACKET_MAKER_H_ |
| OLD | NEW |