Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Side by Side Diff: net/quic/quic_stream_factory_test.cc

Issue 103973007: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix for android compile error Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_stream_sequencer_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/cert/cert_verifier.h" 9 #include "net/cert/cert_verifier.h"
10 #include "net/dns/mock_host_resolver.h" 10 #include "net/dns/mock_host_resolver.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 if (*it == session) 57 if (*it == session)
58 return true; 58 return true;
59 } 59 }
60 return false; 60 return false;
61 } 61 }
62 }; 62 };
63 63
64 class QuicStreamFactoryTest : public ::testing::Test { 64 class QuicStreamFactoryTest : public ::testing::Test {
65 protected: 65 protected:
66 QuicStreamFactoryTest() 66 QuicStreamFactoryTest()
67 : clock_(new MockClock()), 67 : random_generator_(0),
68 clock_(new MockClock()),
68 factory_(&host_resolver_, &socket_factory_, 69 factory_(&host_resolver_, &socket_factory_,
69 base::WeakPtr<HttpServerProperties>(), 70 base::WeakPtr<HttpServerProperties>(),
70 &crypto_client_stream_factory_, 71 &crypto_client_stream_factory_,
71 &random_generator_, clock_, kDefaultMaxPacketSize), 72 &random_generator_, clock_, kDefaultMaxPacketSize),
72 host_port_proxy_pair_(HostPortPair("www.google.com", 443), 73 host_port_proxy_pair_(HostPortPair("www.google.com", 443),
73 ProxyServer::Direct()), 74 ProxyServer::Direct()),
74 is_https_(false), 75 is_https_(false),
75 cert_verifier_(CertVerifier::CreateDefault()) { 76 cert_verifier_(CertVerifier::CreateDefault()) {
76 factory_.set_require_confirmation(false); 77 factory_.set_require_confirmation(false);
77 } 78 }
78 79
79 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( 80 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket(
80 QuicPacketSequenceNumber num, 81 QuicPacketSequenceNumber num,
81 QuicStreamId stream_id) { 82 QuicStreamId stream_id) {
82 QuicPacketHeader header; 83 QuicPacketHeader header;
83 header.public_header.guid = 0xDEADBEEF; 84 header.public_header.guid = random_generator_.RandUint64();
84 header.public_header.reset_flag = false; 85 header.public_header.reset_flag = false;
85 header.public_header.version_flag = true; 86 header.public_header.version_flag = true;
86 header.packet_sequence_number = num; 87 header.packet_sequence_number = num;
87 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; 88 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER;
88 header.entropy_flag = false; 89 header.entropy_flag = false;
89 header.fec_flag = false; 90 header.fec_flag = false;
90 header.fec_group = 0; 91 header.fec_group = 0;
91 92
92 QuicRstStreamFrame rst(stream_id, QUIC_STREAM_CANCELLED); 93 QuicRstStreamFrame rst(stream_id, QUIC_STREAM_CANCELLED);
93 return scoped_ptr<QuicEncryptedPacket>( 94 return scoped_ptr<QuicEncryptedPacket>(
94 ConstructPacket(header, QuicFrame(&rst))); 95 ConstructPacket(header, QuicFrame(&rst)));
95 } 96 }
96 97
97 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( 98 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket(
98 QuicPacketSequenceNumber largest_received, 99 QuicPacketSequenceNumber largest_received,
99 QuicPacketSequenceNumber least_unacked) { 100 QuicPacketSequenceNumber least_unacked) {
100 QuicPacketHeader header; 101 QuicPacketHeader header;
101 header.public_header.guid = 0xDEADBEEF; 102 header.public_header.guid = random_generator_.RandUint64();
102 header.public_header.reset_flag = false; 103 header.public_header.reset_flag = false;
103 header.public_header.version_flag = false; 104 header.public_header.version_flag = false;
104 header.packet_sequence_number = 2; 105 header.packet_sequence_number = 2;
105 header.entropy_flag = false; 106 header.entropy_flag = false;
106 header.fec_flag = false; 107 header.fec_flag = false;
107 header.fec_group = 0; 108 header.fec_group = 0;
108 109
109 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); 110 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked);
110 QuicCongestionFeedbackFrame feedback; 111 QuicCongestionFeedbackFrame feedback;
111 feedback.type = kTCP; 112 feedback.type = kTCP;
112 feedback.tcp.accumulated_number_of_lost_packets = 0; 113 feedback.tcp.accumulated_number_of_lost_packets = 0;
113 feedback.tcp.receive_window = 16000; 114 feedback.tcp.receive_window = 16000;
114 115
115 QuicFramer framer(QuicSupportedVersions(), QuicTime::Zero(), false); 116 QuicFramer framer(QuicSupportedVersions(), QuicTime::Zero(), false);
116 QuicFrames frames; 117 QuicFrames frames;
117 frames.push_back(QuicFrame(&ack)); 118 frames.push_back(QuicFrame(&ack));
118 frames.push_back(QuicFrame(&feedback)); 119 frames.push_back(QuicFrame(&feedback));
119 scoped_ptr<QuicPacket> packet( 120 scoped_ptr<QuicPacket> packet(
120 framer.BuildUnsizedDataPacket(header, frames).packet); 121 framer.BuildUnsizedDataPacket(header, frames).packet);
121 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket( 122 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(
122 ENCRYPTION_NONE, header.packet_sequence_number, *packet)); 123 ENCRYPTION_NONE, header.packet_sequence_number, *packet));
123 } 124 }
124 125
125 // Returns a newly created packet to send congestion feedback data. 126 // Returns a newly created packet to send congestion feedback data.
126 scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket( 127 scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket(
127 QuicPacketSequenceNumber sequence_number) { 128 QuicPacketSequenceNumber sequence_number) {
128 QuicPacketHeader header; 129 QuicPacketHeader header;
129 header.public_header.guid = 0xDEADBEEF; 130 header.public_header.guid = random_generator_.RandUint64();
130 header.public_header.reset_flag = false; 131 header.public_header.reset_flag = false;
131 header.public_header.version_flag = false; 132 header.public_header.version_flag = false;
132 header.packet_sequence_number = sequence_number; 133 header.packet_sequence_number = sequence_number;
133 header.entropy_flag = false; 134 header.entropy_flag = false;
134 header.fec_flag = false; 135 header.fec_flag = false;
135 header.fec_group = 0; 136 header.fec_group = 0;
136 137
137 QuicCongestionFeedbackFrame frame; 138 QuicCongestionFeedbackFrame frame;
138 frame.type = kTCP; 139 frame.type = kTCP;
139 frame.tcp.accumulated_number_of_lost_packets = 0; 140 frame.tcp.accumulated_number_of_lost_packets = 0;
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 QuicCryptoClientConfig::CachedState* cached2 = 643 QuicCryptoClientConfig::CachedState* cached2 =
643 crypto_config2->LookupOrCreate(host_port_proxy_pair2.first.host()); 644 crypto_config2->LookupOrCreate(host_port_proxy_pair2.first.host());
644 EXPECT_NE(cached1->source_address_token(), cached2->source_address_token()); 645 EXPECT_NE(cached1->source_address_token(), cached2->source_address_token());
645 EXPECT_TRUE(cached2->source_address_token().empty()); 646 EXPECT_TRUE(cached2->source_address_token().empty());
646 EXPECT_FALSE(cached2->proof_valid()); 647 EXPECT_FALSE(cached2->proof_valid());
647 } 648 }
648 } 649 }
649 650
650 } // namespace test 651 } // namespace test
651 } // namespace net 652 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_stream_sequencer_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698