| 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 "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "net/base/capturing_net_log.h" | 9 #include "net/base/capturing_net_log.h" |
| 10 #include "net/base/net_log_unittest.h" | 10 #include "net/base/net_log_unittest.h" |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( | 93 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( |
| 94 QuicPacketSequenceNumber num, | 94 QuicPacketSequenceNumber num, |
| 95 QuicStreamId stream_id) { | 95 QuicStreamId stream_id) { |
| 96 QuicPacketHeader header; | 96 QuicPacketHeader header; |
| 97 header.public_header.guid = 0xDEADBEEF; | 97 header.public_header.guid = 0xDEADBEEF; |
| 98 header.public_header.reset_flag = false; | 98 header.public_header.reset_flag = false; |
| 99 header.public_header.version_flag = false; | 99 header.public_header.version_flag = false; |
| 100 header.packet_sequence_number = num; | 100 header.packet_sequence_number = num; |
| 101 header.entropy_flag = false; | 101 header.entropy_flag = false; |
| 102 header.fec_flag = false; | 102 header.fec_flag = false; |
| 103 header.fec_entropy_flag = false; | |
| 104 header.fec_group = 0; | 103 header.fec_group = 0; |
| 105 | 104 |
| 106 QuicRstStreamFrame rst(stream_id, QUIC_STREAM_NO_ERROR); | 105 QuicRstStreamFrame rst(stream_id, QUIC_STREAM_NO_ERROR); |
| 107 return scoped_ptr<QuicEncryptedPacket>( | 106 return scoped_ptr<QuicEncryptedPacket>( |
| 108 ConstructPacket(header, QuicFrame(&rst))); | 107 ConstructPacket(header, QuicFrame(&rst))); |
| 109 } | 108 } |
| 110 | 109 |
| 111 scoped_ptr<QuicEncryptedPacket> ConstructConnectionClosePacket( | 110 scoped_ptr<QuicEncryptedPacket> ConstructConnectionClosePacket( |
| 112 QuicPacketSequenceNumber num) { | 111 QuicPacketSequenceNumber num) { |
| 113 QuicPacketHeader header; | 112 QuicPacketHeader header; |
| 114 header.public_header.guid = 0xDEADBEEF; | 113 header.public_header.guid = 0xDEADBEEF; |
| 115 header.public_header.reset_flag = false; | 114 header.public_header.reset_flag = false; |
| 116 header.public_header.version_flag = false; | 115 header.public_header.version_flag = false; |
| 117 header.packet_sequence_number = num; | 116 header.packet_sequence_number = num; |
| 118 header.entropy_flag = false; | 117 header.entropy_flag = false; |
| 119 header.fec_flag = false; | 118 header.fec_flag = false; |
| 120 header.fec_entropy_flag = false; | |
| 121 header.fec_group = 0; | 119 header.fec_group = 0; |
| 122 | 120 |
| 123 QuicAckFrame ack_frame(0, QuicTime::Zero(), 0); | 121 QuicAckFrame ack_frame(0, QuicTime::Zero(), 0); |
| 124 QuicConnectionCloseFrame close; | 122 QuicConnectionCloseFrame close; |
| 125 close.error_code = QUIC_CRYPTO_VERSION_NOT_SUPPORTED; | 123 close.error_code = QUIC_CRYPTO_VERSION_NOT_SUPPORTED; |
| 126 close.error_details = "Time to panic!"; | 124 close.error_details = "Time to panic!"; |
| 127 close.ack_frame = ack_frame; | 125 close.ack_frame = ack_frame; |
| 128 return scoped_ptr<QuicEncryptedPacket>( | 126 return scoped_ptr<QuicEncryptedPacket>( |
| 129 ConstructPacket(header, QuicFrame(&close))); | 127 ConstructPacket(header, QuicFrame(&close))); |
| 130 } | 128 } |
| 131 | 129 |
| 132 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( | 130 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( |
| 133 QuicPacketSequenceNumber largest_received, | 131 QuicPacketSequenceNumber largest_received, |
| 134 QuicPacketSequenceNumber least_unacked) { | 132 QuicPacketSequenceNumber least_unacked) { |
| 135 QuicPacketHeader header; | 133 QuicPacketHeader header; |
| 136 header.public_header.guid = 0xDEADBEEF; | 134 header.public_header.guid = 0xDEADBEEF; |
| 137 header.public_header.reset_flag = false; | 135 header.public_header.reset_flag = false; |
| 138 header.public_header.version_flag = false; | 136 header.public_header.version_flag = false; |
| 139 header.packet_sequence_number = 2; | 137 header.packet_sequence_number = 2; |
| 140 header.entropy_flag = false; | 138 header.entropy_flag = false; |
| 141 header.fec_flag = false; | 139 header.fec_flag = false; |
| 142 header.fec_entropy_flag = false; | |
| 143 header.fec_group = 0; | 140 header.fec_group = 0; |
| 144 | 141 |
| 145 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); | 142 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); |
| 146 | 143 |
| 147 QuicCongestionFeedbackFrame feedback; | 144 QuicCongestionFeedbackFrame feedback; |
| 148 feedback.type = kTCP; | 145 feedback.type = kTCP; |
| 149 feedback.tcp.accumulated_number_of_lost_packets = 0; | 146 feedback.tcp.accumulated_number_of_lost_packets = 0; |
| 150 feedback.tcp.receive_window = 256000; | 147 feedback.tcp.receive_window = 256000; |
| 151 | 148 |
| 152 QuicFramer framer(kQuicVersion1, QuicTime::Zero(), false); | 149 QuicFramer framer(kQuicVersion1, QuicTime::Zero(), false); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 | 208 |
| 212 void InitializeHeader(QuicPacketSequenceNumber sequence_number, | 209 void InitializeHeader(QuicPacketSequenceNumber sequence_number, |
| 213 bool should_include_version) { | 210 bool should_include_version) { |
| 214 header_.public_header.guid = random_generator_.RandUint64(); | 211 header_.public_header.guid = random_generator_.RandUint64(); |
| 215 header_.public_header.reset_flag = false; | 212 header_.public_header.reset_flag = false; |
| 216 header_.public_header.version_flag = should_include_version; | 213 header_.public_header.version_flag = should_include_version; |
| 217 header_.packet_sequence_number = sequence_number; | 214 header_.packet_sequence_number = sequence_number; |
| 218 header_.fec_group = 0; | 215 header_.fec_group = 0; |
| 219 header_.entropy_flag = false; | 216 header_.entropy_flag = false; |
| 220 header_.fec_flag = false; | 217 header_.fec_flag = false; |
| 221 header_.fec_entropy_flag = false; | |
| 222 } | 218 } |
| 223 | 219 |
| 224 void CreateSession() { | 220 void CreateSession() { |
| 225 params_.enable_quic = true; | 221 params_.enable_quic = true; |
| 226 params_.quic_clock = clock_; | 222 params_.quic_clock = clock_; |
| 227 params_.quic_random = &random_generator_; | 223 params_.quic_random = &random_generator_; |
| 228 params_.client_socket_factory = &socket_factory_; | 224 params_.client_socket_factory = &socket_factory_; |
| 229 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; | 225 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; |
| 230 params_.host_resolver = &host_resolver_; | 226 params_.host_resolver = &host_resolver_; |
| 231 params_.cert_verifier = &cert_verifier_; | 227 params_.cert_verifier = &cert_verifier_; |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 614 | 610 |
| 615 CreateSession(); | 611 CreateSession(); |
| 616 | 612 |
| 617 AddQuicAlternateProtocolMapping(MockCryptoClientStream::COLD_START); | 613 AddQuicAlternateProtocolMapping(MockCryptoClientStream::COLD_START); |
| 618 SendRequestAndExpectHttpResponse("hello from http"); | 614 SendRequestAndExpectHttpResponse("hello from http"); |
| 619 ExpectBrokenAlternateProtocolMapping(); | 615 ExpectBrokenAlternateProtocolMapping(); |
| 620 } | 616 } |
| 621 | 617 |
| 622 } // namespace test | 618 } // namespace test |
| 623 } // namespace net | 619 } // namespace net |
| OLD | NEW |