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/quic_stream_factory.h" | 5 #include "net/quic/quic_stream_factory.h" |
6 | 6 |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "net/base/mock_host_resolver.h" | 9 #include "net/base/mock_host_resolver.h" |
10 #include "net/http/http_response_headers.h" | 10 #include "net/http/http_response_headers.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 &random_generator_, clock_), | 30 &random_generator_, clock_), |
31 host_port_proxy_pair_(HostPortPair("www.google.com", 443), | 31 host_port_proxy_pair_(HostPortPair("www.google.com", 443), |
32 ProxyServer::Direct()) { | 32 ProxyServer::Direct()) { |
33 } | 33 } |
34 | 34 |
35 scoped_ptr<QuicEncryptedPacket> ConstructChlo() { | 35 scoped_ptr<QuicEncryptedPacket> ConstructChlo() { |
36 const std::string& host = host_port_proxy_pair_.first.host(); | 36 const std::string& host = host_port_proxy_pair_.first.host(); |
37 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF, | 37 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF, |
38 clock_, | 38 clock_, |
39 &random_generator_, | 39 &random_generator_, |
40 host)); | 40 host, |
| 41 true)); |
41 QuicFramer framer(kQuicVersion1, | 42 QuicFramer framer(kQuicVersion1, |
42 QuicDecrypter::Create(kNULL), | 43 QuicDecrypter::Create(kNULL), |
43 QuicEncrypter::Create(kNULL)); | 44 QuicEncrypter::Create(kNULL), |
| 45 false); |
44 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *chlo)); | 46 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *chlo)); |
45 } | 47 } |
46 | 48 |
47 scoped_ptr<QuicEncryptedPacket> ConstructShlo() { | 49 scoped_ptr<QuicEncryptedPacket> ConstructShlo() { |
48 const std::string host = "www.google.com"; | 50 const std::string host = "www.google.com"; |
49 scoped_ptr<QuicPacket> shlo(ConstructServerHelloPacket(0xDEADBEEF, | 51 scoped_ptr<QuicPacket> shlo(ConstructServerHelloPacket(0xDEADBEEF, |
50 clock_, | 52 clock_, |
51 &random_generator_, | 53 &random_generator_, |
52 host)); | 54 host)); |
53 QuicFramer framer(kQuicVersion1, | 55 QuicFramer framer(kQuicVersion1, |
54 QuicDecrypter::Create(kNULL), | 56 QuicDecrypter::Create(kNULL), |
55 QuicEncrypter::Create(kNULL)); | 57 QuicEncrypter::Create(kNULL), |
| 58 false); |
56 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *shlo)); | 59 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *shlo)); |
57 } | 60 } |
58 | 61 |
59 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( | 62 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( |
60 QuicPacketSequenceNumber num, | 63 QuicPacketSequenceNumber num, |
61 QuicStreamId stream_id) { | 64 QuicStreamId stream_id) { |
62 QuicPacketHeader header; | 65 QuicPacketHeader header; |
63 header.public_header.guid = 0xDEADBEEF; | 66 header.public_header.guid = 0xDEADBEEF; |
64 header.public_header.reset_flag = false; | 67 header.public_header.reset_flag = false; |
65 header.public_header.version_flag = false; | 68 header.public_header.version_flag = false; |
(...skipping 14 matching lines...) Expand all Loading... |
80 QuicPacketHeader header; | 83 QuicPacketHeader header; |
81 header.public_header.guid = 0xDEADBEEF; | 84 header.public_header.guid = 0xDEADBEEF; |
82 header.public_header.reset_flag = false; | 85 header.public_header.reset_flag = false; |
83 header.public_header.version_flag = false; | 86 header.public_header.version_flag = false; |
84 header.packet_sequence_number = 2; | 87 header.packet_sequence_number = 2; |
85 header.entropy_flag = false; | 88 header.entropy_flag = false; |
86 header.fec_entropy_flag = false; | 89 header.fec_entropy_flag = false; |
87 header.fec_flag = false; | 90 header.fec_flag = false; |
88 header.fec_group = 0; | 91 header.fec_group = 0; |
89 | 92 |
90 QuicAckFrame ack(largest_received, least_unacked); | 93 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); |
91 QuicCongestionFeedbackFrame feedback; | 94 QuicCongestionFeedbackFrame feedback; |
92 feedback.type = kTCP; | 95 feedback.type = kTCP; |
93 feedback.tcp.accumulated_number_of_lost_packets = 0; | 96 feedback.tcp.accumulated_number_of_lost_packets = 0; |
94 feedback.tcp.receive_window = 16000; | 97 feedback.tcp.receive_window = 16000; |
95 | 98 |
96 QuicFramer framer(kQuicVersion1, | 99 QuicFramer framer(kQuicVersion1, |
97 QuicDecrypter::Create(kNULL), | 100 QuicDecrypter::Create(kNULL), |
98 QuicEncrypter::Create(kNULL)); | 101 QuicEncrypter::Create(kNULL), |
| 102 false); |
99 QuicFrames frames; | 103 QuicFrames frames; |
100 frames.push_back(QuicFrame(&ack)); | 104 frames.push_back(QuicFrame(&ack)); |
101 frames.push_back(QuicFrame(&feedback)); | 105 frames.push_back(QuicFrame(&feedback)); |
102 scoped_ptr<QuicPacket> packet( | 106 scoped_ptr<QuicPacket> packet( |
103 framer.ConstructFrameDataPacket(header, frames).packet); | 107 framer.ConstructFrameDataPacket(header, frames).packet); |
104 return scoped_ptr<QuicEncryptedPacket>( | 108 return scoped_ptr<QuicEncryptedPacket>( |
105 framer.EncryptPacket(header.packet_sequence_number, *packet)); | 109 framer.EncryptPacket(header.packet_sequence_number, *packet)); |
106 } | 110 } |
107 | 111 |
108 // Returns a newly created packet to send congestion feedback data. | 112 // Returns a newly created packet to send congestion feedback data. |
(...skipping 16 matching lines...) Expand all Loading... |
125 | 129 |
126 return scoped_ptr<QuicEncryptedPacket>( | 130 return scoped_ptr<QuicEncryptedPacket>( |
127 ConstructPacket(header, QuicFrame(&frame))); | 131 ConstructPacket(header, QuicFrame(&frame))); |
128 } | 132 } |
129 | 133 |
130 scoped_ptr<QuicEncryptedPacket> ConstructPacket( | 134 scoped_ptr<QuicEncryptedPacket> ConstructPacket( |
131 const QuicPacketHeader& header, | 135 const QuicPacketHeader& header, |
132 const QuicFrame& frame) { | 136 const QuicFrame& frame) { |
133 QuicFramer framer(kQuicVersion1, | 137 QuicFramer framer(kQuicVersion1, |
134 QuicDecrypter::Create(kNULL), | 138 QuicDecrypter::Create(kNULL), |
135 QuicEncrypter::Create(kNULL)); | 139 QuicEncrypter::Create(kNULL), |
| 140 false); |
136 QuicFrames frames; | 141 QuicFrames frames; |
137 frames.push_back(frame); | 142 frames.push_back(frame); |
138 scoped_ptr<QuicPacket> packet( | 143 scoped_ptr<QuicPacket> packet( |
139 framer.ConstructFrameDataPacket(header, frames).packet); | 144 framer.ConstructFrameDataPacket(header, frames).packet); |
140 return scoped_ptr<QuicEncryptedPacket>( | 145 return scoped_ptr<QuicEncryptedPacket>( |
141 framer.EncryptPacket(header.packet_sequence_number, *packet)); | 146 framer.EncryptPacket(header.packet_sequence_number, *packet)); |
142 } | 147 } |
143 | 148 |
144 MockHostResolver host_resolver_; | 149 MockHostResolver host_resolver_; |
145 MockClientSocketFactory socket_factory_; | 150 MockClientSocketFactory socket_factory_; |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 stream.reset(); // Will reset stream 3. | 303 stream.reset(); // Will reset stream 3. |
299 | 304 |
300 EXPECT_TRUE(socket_data.at_read_eof()); | 305 EXPECT_TRUE(socket_data.at_read_eof()); |
301 EXPECT_TRUE(socket_data.at_write_eof()); | 306 EXPECT_TRUE(socket_data.at_write_eof()); |
302 EXPECT_TRUE(socket_data2.at_read_eof()); | 307 EXPECT_TRUE(socket_data2.at_read_eof()); |
303 EXPECT_TRUE(socket_data2.at_write_eof()); | 308 EXPECT_TRUE(socket_data2.at_write_eof()); |
304 } | 309 } |
305 | 310 |
306 } // namespace test | 311 } // namespace test |
307 } // namespace net | 312 } // namespace net |
OLD | NEW |