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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "net/base/mock_cert_verifier.h" | 8 #include "net/base/mock_cert_verifier.h" |
9 #include "net/base/mock_host_resolver.h" | 9 #include "net/base/mock_host_resolver.h" |
10 #include "net/base/ssl_config_service_defaults.h" | 10 #include "net/base/ssl_config_service_defaults.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 HttpStreamFactory::set_use_alternate_protocols(false); | 81 HttpStreamFactory::set_use_alternate_protocols(false); |
82 HttpStreamFactory::SetNextProtos(std::vector<std::string>()); | 82 HttpStreamFactory::SetNextProtos(std::vector<std::string>()); |
83 } | 83 } |
84 | 84 |
85 // TODO(rch): factor these Construct* methods out into a test helper class. | 85 // TODO(rch): factor these Construct* methods out into a test helper class. |
86 scoped_ptr<QuicEncryptedPacket> ConstructChlo() { | 86 scoped_ptr<QuicEncryptedPacket> ConstructChlo() { |
87 const std::string host = "www.google.com"; | 87 const std::string host = "www.google.com"; |
88 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF, | 88 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF, |
89 clock_, | 89 clock_, |
90 &random_generator_, | 90 &random_generator_, |
91 host)); | 91 host, |
| 92 true)); |
92 QuicFramer framer(kQuicVersion1, | 93 QuicFramer framer(kQuicVersion1, |
93 QuicDecrypter::Create(kNULL), | 94 QuicDecrypter::Create(kNULL), |
94 QuicEncrypter::Create(kNULL)); | 95 QuicEncrypter::Create(kNULL), |
| 96 false); |
95 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *chlo)); | 97 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *chlo)); |
96 } | 98 } |
97 | 99 |
98 scoped_ptr<QuicEncryptedPacket> ConstructShlo() { | 100 scoped_ptr<QuicEncryptedPacket> ConstructShlo() { |
99 const std::string host = "www.google.com"; | 101 const std::string host = "www.google.com"; |
100 scoped_ptr<QuicPacket> shlo(ConstructServerHelloPacket(0xDEADBEEF, | 102 scoped_ptr<QuicPacket> shlo(ConstructServerHelloPacket(0xDEADBEEF, |
101 clock_, | 103 clock_, |
102 &random_generator_, | 104 &random_generator_, |
103 host)); | 105 host)); |
104 QuicFramer framer(kQuicVersion1, | 106 QuicFramer framer(kQuicVersion1, |
105 QuicDecrypter::Create(kNULL), | 107 QuicDecrypter::Create(kNULL), |
106 QuicEncrypter::Create(kNULL)); | 108 QuicEncrypter::Create(kNULL), |
| 109 false); |
107 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *shlo)); | 110 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *shlo)); |
108 } | 111 } |
109 | 112 |
110 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( | 113 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( |
111 QuicPacketSequenceNumber num, | 114 QuicPacketSequenceNumber num, |
112 QuicStreamId stream_id) { | 115 QuicStreamId stream_id) { |
113 QuicPacketHeader header; | 116 QuicPacketHeader header; |
114 header.public_header.guid = 0xDEADBEEF; | 117 header.public_header.guid = 0xDEADBEEF; |
115 header.public_header.reset_flag = false; | 118 header.public_header.reset_flag = false; |
116 header.public_header.version_flag = false; | 119 header.public_header.version_flag = false; |
(...skipping 14 matching lines...) Expand all Loading... |
131 QuicPacketHeader header; | 134 QuicPacketHeader header; |
132 header.public_header.guid = 0xDEADBEEF; | 135 header.public_header.guid = 0xDEADBEEF; |
133 header.public_header.reset_flag = false; | 136 header.public_header.reset_flag = false; |
134 header.public_header.version_flag = false; | 137 header.public_header.version_flag = false; |
135 header.packet_sequence_number = 3; | 138 header.packet_sequence_number = 3; |
136 header.entropy_flag = false; | 139 header.entropy_flag = false; |
137 header.fec_flag = false; | 140 header.fec_flag = false; |
138 header.fec_entropy_flag = false; | 141 header.fec_entropy_flag = false; |
139 header.fec_group = 0; | 142 header.fec_group = 0; |
140 | 143 |
141 QuicAckFrame ack(largest_received, least_unacked); | 144 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); |
142 | 145 |
143 QuicCongestionFeedbackFrame feedback; | 146 QuicCongestionFeedbackFrame feedback; |
144 feedback.type = kTCP; | 147 feedback.type = kTCP; |
145 feedback.tcp.accumulated_number_of_lost_packets = 0; | 148 feedback.tcp.accumulated_number_of_lost_packets = 0; |
146 feedback.tcp.receive_window = 256000; | 149 feedback.tcp.receive_window = 256000; |
147 | 150 |
148 QuicFramer framer(kQuicVersion1, | 151 QuicFramer framer(kQuicVersion1, |
149 QuicDecrypter::Create(kNULL), | 152 QuicDecrypter::Create(kNULL), |
150 QuicEncrypter::Create(kNULL)); | 153 QuicEncrypter::Create(kNULL), |
| 154 false); |
151 QuicFrames frames; | 155 QuicFrames frames; |
152 frames.push_back(QuicFrame(&ack)); | 156 frames.push_back(QuicFrame(&ack)); |
153 frames.push_back(QuicFrame(&feedback)); | 157 frames.push_back(QuicFrame(&feedback)); |
154 scoped_ptr<QuicPacket> packet( | 158 scoped_ptr<QuicPacket> packet( |
155 framer.ConstructFrameDataPacket(header, frames).packet); | 159 framer.ConstructFrameDataPacket(header, frames).packet); |
156 return scoped_ptr<QuicEncryptedPacket>( | 160 return scoped_ptr<QuicEncryptedPacket>( |
157 framer.EncryptPacket(header.packet_sequence_number, *packet)); | 161 framer.EncryptPacket(header.packet_sequence_number, *packet)); |
158 } | 162 } |
159 | 163 |
160 std::string GetRequestString(const std::string& method, | 164 std::string GetRequestString(const std::string& method, |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 InitializeHeader(sequence_number); | 198 InitializeHeader(sequence_number); |
195 QuicStreamFrame frame(3, fin, offset, data); | 199 QuicStreamFrame frame(3, fin, offset, data); |
196 return ConstructPacket(header_, QuicFrame(&frame)).release(); | 200 return ConstructPacket(header_, QuicFrame(&frame)).release(); |
197 } | 201 } |
198 | 202 |
199 scoped_ptr<QuicEncryptedPacket> ConstructPacket( | 203 scoped_ptr<QuicEncryptedPacket> ConstructPacket( |
200 const QuicPacketHeader& header, | 204 const QuicPacketHeader& header, |
201 const QuicFrame& frame) { | 205 const QuicFrame& frame) { |
202 QuicFramer framer(kQuicVersion1, | 206 QuicFramer framer(kQuicVersion1, |
203 QuicDecrypter::Create(kNULL), | 207 QuicDecrypter::Create(kNULL), |
204 QuicEncrypter::Create(kNULL)); | 208 QuicEncrypter::Create(kNULL), |
| 209 false); |
205 QuicFrames frames; | 210 QuicFrames frames; |
206 frames.push_back(frame); | 211 frames.push_back(frame); |
207 scoped_ptr<QuicPacket> packet( | 212 scoped_ptr<QuicPacket> packet( |
208 framer.ConstructFrameDataPacket(header, frames).packet); | 213 framer.ConstructFrameDataPacket(header, frames).packet); |
209 return scoped_ptr<QuicEncryptedPacket>( | 214 return scoped_ptr<QuicEncryptedPacket>( |
210 framer.EncryptPacket(header.packet_sequence_number, *packet)); | 215 framer.EncryptPacket(header.packet_sequence_number, *packet)); |
211 } | 216 } |
212 | 217 |
213 void InitializeHeader(QuicPacketSequenceNumber sequence_number) { | 218 void InitializeHeader(QuicPacketSequenceNumber sequence_number) { |
214 header_.public_header.guid = random_generator_.RandUint64(); | 219 header_.public_header.guid = random_generator_.RandUint64(); |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 ASSERT_TRUE(response->headers != NULL); | 518 ASSERT_TRUE(response->headers != NULL); |
514 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 519 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
515 EXPECT_FALSE(response->was_fetched_via_spdy); | 520 EXPECT_FALSE(response->was_fetched_via_spdy); |
516 | 521 |
517 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); | 522 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); |
518 EXPECT_EQ("hello!", response_data); | 523 EXPECT_EQ("hello!", response_data); |
519 } | 524 } |
520 | 525 |
521 } // namespace test | 526 } // namespace test |
522 } // namespace net | 527 } // namespace net |
OLD | NEW |