| 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/dns/mock_host_resolver.h" | 9 #include "net/dns/mock_host_resolver.h" |
| 10 #include "net/http/http_response_headers.h" | 10 #include "net/http/http_response_headers.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 header.fec_entropy_flag = false; | 64 header.fec_entropy_flag = false; |
| 65 header.fec_flag = false; | 65 header.fec_flag = false; |
| 66 header.fec_group = 0; | 66 header.fec_group = 0; |
| 67 | 67 |
| 68 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); | 68 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); |
| 69 QuicCongestionFeedbackFrame feedback; | 69 QuicCongestionFeedbackFrame feedback; |
| 70 feedback.type = kTCP; | 70 feedback.type = kTCP; |
| 71 feedback.tcp.accumulated_number_of_lost_packets = 0; | 71 feedback.tcp.accumulated_number_of_lost_packets = 0; |
| 72 feedback.tcp.receive_window = 16000; | 72 feedback.tcp.receive_window = 16000; |
| 73 | 73 |
| 74 QuicFramer framer(kQuicVersion1, | 74 QuicFramer framer(kQuicVersion1, QuicTime::Zero(), false); |
| 75 QuicDecrypter::Create(kNULL), | |
| 76 QuicEncrypter::Create(kNULL), | |
| 77 QuicTime::Zero(), | |
| 78 false); | |
| 79 QuicFrames frames; | 75 QuicFrames frames; |
| 80 frames.push_back(QuicFrame(&ack)); | 76 frames.push_back(QuicFrame(&ack)); |
| 81 frames.push_back(QuicFrame(&feedback)); | 77 frames.push_back(QuicFrame(&feedback)); |
| 82 scoped_ptr<QuicPacket> packet( | 78 scoped_ptr<QuicPacket> packet( |
| 83 framer.ConstructFrameDataPacket(header, frames).packet); | 79 framer.ConstructFrameDataPacket(header, frames).packet); |
| 84 return scoped_ptr<QuicEncryptedPacket>( | 80 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket( |
| 85 framer.EncryptPacket(header.packet_sequence_number, *packet)); | 81 ENCRYPTION_NONE, header.packet_sequence_number, *packet)); |
| 86 } | 82 } |
| 87 | 83 |
| 88 // Returns a newly created packet to send congestion feedback data. | 84 // Returns a newly created packet to send congestion feedback data. |
| 89 scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket( | 85 scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket( |
| 90 QuicPacketSequenceNumber sequence_number) { | 86 QuicPacketSequenceNumber sequence_number) { |
| 91 QuicPacketHeader header; | 87 QuicPacketHeader header; |
| 92 header.public_header.guid = 0xDEADBEEF; | 88 header.public_header.guid = 0xDEADBEEF; |
| 93 header.public_header.reset_flag = false; | 89 header.public_header.reset_flag = false; |
| 94 header.public_header.version_flag = false; | 90 header.public_header.version_flag = false; |
| 95 header.packet_sequence_number = sequence_number; | 91 header.packet_sequence_number = sequence_number; |
| 96 header.entropy_flag = false; | 92 header.entropy_flag = false; |
| 97 header.fec_entropy_flag = false; | 93 header.fec_entropy_flag = false; |
| 98 header.fec_flag = false; | 94 header.fec_flag = false; |
| 99 header.fec_group = 0; | 95 header.fec_group = 0; |
| 100 | 96 |
| 101 QuicCongestionFeedbackFrame frame; | 97 QuicCongestionFeedbackFrame frame; |
| 102 frame.type = kTCP; | 98 frame.type = kTCP; |
| 103 frame.tcp.accumulated_number_of_lost_packets = 0; | 99 frame.tcp.accumulated_number_of_lost_packets = 0; |
| 104 frame.tcp.receive_window = 16000; | 100 frame.tcp.receive_window = 16000; |
| 105 | 101 |
| 106 return scoped_ptr<QuicEncryptedPacket>( | 102 return scoped_ptr<QuicEncryptedPacket>( |
| 107 ConstructPacket(header, QuicFrame(&frame))); | 103 ConstructPacket(header, QuicFrame(&frame))); |
| 108 } | 104 } |
| 109 | 105 |
| 110 scoped_ptr<QuicEncryptedPacket> ConstructPacket( | 106 scoped_ptr<QuicEncryptedPacket> ConstructPacket( |
| 111 const QuicPacketHeader& header, | 107 const QuicPacketHeader& header, |
| 112 const QuicFrame& frame) { | 108 const QuicFrame& frame) { |
| 113 QuicFramer framer(kQuicVersion1, | 109 QuicFramer framer(kQuicVersion1, QuicTime::Zero(), false); |
| 114 QuicDecrypter::Create(kNULL), | |
| 115 QuicEncrypter::Create(kNULL), | |
| 116 QuicTime::Zero(), | |
| 117 false); | |
| 118 QuicFrames frames; | 110 QuicFrames frames; |
| 119 frames.push_back(frame); | 111 frames.push_back(frame); |
| 120 scoped_ptr<QuicPacket> packet( | 112 scoped_ptr<QuicPacket> packet( |
| 121 framer.ConstructFrameDataPacket(header, frames).packet); | 113 framer.ConstructFrameDataPacket(header, frames).packet); |
| 122 return scoped_ptr<QuicEncryptedPacket>( | 114 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket( |
| 123 framer.EncryptPacket(header.packet_sequence_number, *packet)); | 115 ENCRYPTION_NONE, header.packet_sequence_number, *packet)); |
| 124 } | 116 } |
| 125 | 117 |
| 126 MockHostResolver host_resolver_; | 118 MockHostResolver host_resolver_; |
| 127 MockClientSocketFactory socket_factory_; | 119 MockClientSocketFactory socket_factory_; |
| 128 MockCryptoClientStreamFactory crypto_client_stream_factory_; | 120 MockCryptoClientStreamFactory crypto_client_stream_factory_; |
| 129 MockRandom random_generator_; | 121 MockRandom random_generator_; |
| 130 MockClock* clock_; // Owned by factory_. | 122 MockClock* clock_; // Owned by factory_. |
| 131 QuicStreamFactory factory_; | 123 QuicStreamFactory factory_; |
| 132 HostPortProxyPair host_port_proxy_pair_; | 124 HostPortProxyPair host_port_proxy_pair_; |
| 133 BoundNetLog net_log_; | 125 BoundNetLog net_log_; |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 stream.reset(); // Will reset stream 3. | 257 stream.reset(); // Will reset stream 3. |
| 266 | 258 |
| 267 EXPECT_TRUE(socket_data.at_read_eof()); | 259 EXPECT_TRUE(socket_data.at_read_eof()); |
| 268 EXPECT_TRUE(socket_data.at_write_eof()); | 260 EXPECT_TRUE(socket_data.at_write_eof()); |
| 269 EXPECT_TRUE(socket_data2.at_read_eof()); | 261 EXPECT_TRUE(socket_data2.at_read_eof()); |
| 270 EXPECT_TRUE(socket_data2.at_write_eof()); | 262 EXPECT_TRUE(socket_data2.at_write_eof()); |
| 271 } | 263 } |
| 272 | 264 |
| 273 } // namespace test | 265 } // namespace test |
| 274 } // namespace net | 266 } // namespace net |
| OLD | NEW |