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

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

Issue 12334063: Land recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more EXPECT_FALSE Created 7 years, 10 months 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.h » ('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/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 20 matching lines...) Expand all
31 } 31 }
32 32
33 scoped_ptr<QuicEncryptedPacket> ConstructChlo() { 33 scoped_ptr<QuicEncryptedPacket> ConstructChlo() {
34 const std::string& host = host_port_proxy_pair_.first.host(); 34 const std::string& host = host_port_proxy_pair_.first.host();
35 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF, 35 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF,
36 clock_, 36 clock_,
37 &random_generator_, 37 &random_generator_,
38 host)); 38 host));
39 QuicFramer framer(QuicDecrypter::Create(kNULL), 39 QuicFramer framer(QuicDecrypter::Create(kNULL),
40 QuicEncrypter::Create(kNULL)); 40 QuicEncrypter::Create(kNULL));
41 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*chlo)); 41 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *chlo));
42 } 42 }
43 43
44 scoped_ptr<QuicEncryptedPacket> ConstructShlo() { 44 scoped_ptr<QuicEncryptedPacket> ConstructShlo() {
45 scoped_ptr<QuicPacket> shlo(ConstructHandshakePacket(0xDEADBEEF, kSHLO)); 45 scoped_ptr<QuicPacket> shlo(ConstructHandshakePacket(0xDEADBEEF, kSHLO));
46 QuicFramer framer(QuicDecrypter::Create(kNULL), 46 QuicFramer framer(QuicDecrypter::Create(kNULL),
47 QuicEncrypter::Create(kNULL)); 47 QuicEncrypter::Create(kNULL));
48 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*shlo)); 48 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *shlo));
49 } 49 }
50 50
51 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( 51 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket(
52 QuicPacketSequenceNumber num, 52 QuicPacketSequenceNumber num,
53 QuicStreamId stream_id) { 53 QuicStreamId stream_id) {
54 QuicPacketHeader header; 54 QuicPacketHeader header;
55 header.public_header.guid = 0xDEADBEEF; 55 header.public_header.guid = 0xDEADBEEF;
56 header.public_header.flags = PACKET_PUBLIC_FLAGS_NONE; 56 header.public_header.reset_flag = false;
57 header.public_header.version_flag = false;
57 header.packet_sequence_number = num; 58 header.packet_sequence_number = num;
58 header.private_flags = PACKET_PRIVATE_FLAGS_NONE; 59 header.entropy_flag = false;
60 header.fec_entropy_flag = false;
61 header.fec_flag = false;
59 header.fec_group = 0; 62 header.fec_group = 0;
60 63
61 QuicRstStreamFrame rst(stream_id, 0, QUIC_NO_ERROR); 64 QuicRstStreamFrame rst(stream_id, QUIC_NO_ERROR);
62 return scoped_ptr<QuicEncryptedPacket>( 65 return scoped_ptr<QuicEncryptedPacket>(
63 ConstructPacket(header, QuicFrame(&rst))); 66 ConstructPacket(header, QuicFrame(&rst)));
64 } 67 }
65 68
66 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( 69 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket(
67 QuicPacketSequenceNumber largest_received, 70 QuicPacketSequenceNumber largest_received,
68 QuicPacketSequenceNumber least_unacked) { 71 QuicPacketSequenceNumber least_unacked) {
69 QuicPacketHeader header; 72 QuicPacketHeader header;
70 header.public_header.guid = 0xDEADBEEF; 73 header.public_header.guid = 0xDEADBEEF;
71 header.public_header.flags = PACKET_PUBLIC_FLAGS_NONE; 74 header.public_header.reset_flag = false;
75 header.public_header.version_flag = false;
72 header.packet_sequence_number = 2; 76 header.packet_sequence_number = 2;
73 header.private_flags = PACKET_PRIVATE_FLAGS_NONE; 77 header.entropy_flag = false;
78 header.fec_entropy_flag = false;
79 header.fec_flag = false;
74 header.fec_group = 0; 80 header.fec_group = 0;
75 81
76 QuicAckFrame ack(largest_received, least_unacked); 82 QuicAckFrame ack(largest_received, least_unacked);
77
78 QuicCongestionFeedbackFrame feedback; 83 QuicCongestionFeedbackFrame feedback;
79 feedback.type = kTCP; 84 feedback.type = kTCP;
80 feedback.tcp.accumulated_number_of_lost_packets = 0; 85 feedback.tcp.accumulated_number_of_lost_packets = 0;
81 feedback.tcp.receive_window = 16000; 86 feedback.tcp.receive_window = 16000;
82 87
83 QuicFramer framer(QuicDecrypter::Create(kNULL), 88 QuicFramer framer(QuicDecrypter::Create(kNULL),
84 QuicEncrypter::Create(kNULL)); 89 QuicEncrypter::Create(kNULL));
85 QuicFrames frames; 90 QuicFrames frames;
86 frames.push_back(QuicFrame(&ack)); 91 frames.push_back(QuicFrame(&ack));
87 frames.push_back(QuicFrame(&feedback)); 92 frames.push_back(QuicFrame(&feedback));
88 scoped_ptr<QuicPacket> packet( 93 scoped_ptr<QuicPacket> packet(
89 framer.ConstructFrameDataPacket(header, frames)); 94 framer.ConstructFrameDataPacket(header, frames).packet);
90 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*packet)); 95 return scoped_ptr<QuicEncryptedPacket>(
96 framer.EncryptPacket(header.packet_sequence_number, *packet));
91 } 97 }
92 98
93 // Returns a newly created packet to send congestion feedback data. 99 // Returns a newly created packet to send congestion feedback data.
94 scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket( 100 scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket(
95 QuicPacketSequenceNumber sequence_number) { 101 QuicPacketSequenceNumber sequence_number) {
96 QuicPacketHeader header; 102 QuicPacketHeader header;
97 header.public_header.guid = 0xDEADBEEF; 103 header.public_header.guid = 0xDEADBEEF;
98 header.public_header.flags = PACKET_PUBLIC_FLAGS_NONE; 104 header.public_header.reset_flag = false;
105 header.public_header.version_flag = false;
99 header.packet_sequence_number = sequence_number; 106 header.packet_sequence_number = sequence_number;
100 header.private_flags = PACKET_PRIVATE_FLAGS_NONE; 107 header.entropy_flag = false;
108 header.fec_entropy_flag = false;
109 header.fec_flag = false;
101 header.fec_group = 0; 110 header.fec_group = 0;
102 111
103 QuicCongestionFeedbackFrame frame; 112 QuicCongestionFeedbackFrame frame;
104 frame.type = kTCP; 113 frame.type = kTCP;
105 frame.tcp.accumulated_number_of_lost_packets = 0; 114 frame.tcp.accumulated_number_of_lost_packets = 0;
106 frame.tcp.receive_window = 16000; 115 frame.tcp.receive_window = 16000;
107 116
108 return scoped_ptr<QuicEncryptedPacket>( 117 return scoped_ptr<QuicEncryptedPacket>(
109 ConstructPacket(header, QuicFrame(&frame))); 118 ConstructPacket(header, QuicFrame(&frame)));
110 } 119 }
111 120
112 scoped_ptr<QuicEncryptedPacket> ConstructPacket( 121 scoped_ptr<QuicEncryptedPacket> ConstructPacket(
113 const QuicPacketHeader& header, 122 const QuicPacketHeader& header,
114 const QuicFrame& frame) { 123 const QuicFrame& frame) {
115 QuicFramer framer(QuicDecrypter::Create(kNULL), 124 QuicFramer framer(QuicDecrypter::Create(kNULL),
116 QuicEncrypter::Create(kNULL)); 125 QuicEncrypter::Create(kNULL));
117 QuicFrames frames; 126 QuicFrames frames;
118 frames.push_back(frame); 127 frames.push_back(frame);
119 scoped_ptr<QuicPacket> packet( 128 scoped_ptr<QuicPacket> packet(
120 framer.ConstructFrameDataPacket(header, frames)); 129 framer.ConstructFrameDataPacket(header, frames).packet);
121 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*packet)); 130 return scoped_ptr<QuicEncryptedPacket>(
131 framer.EncryptPacket(header.packet_sequence_number, *packet));
122 } 132 }
123 133
124 MockHostResolver host_resolver_; 134 MockHostResolver host_resolver_;
125 MockClientSocketFactory socket_factory_; 135 MockClientSocketFactory socket_factory_;
126 MockRandom random_generator_; 136 MockRandom random_generator_;
127 MockClock* clock_; // Owned by factory_. 137 MockClock* clock_; // Owned by factory_.
128 QuicStreamFactory factory_; 138 QuicStreamFactory factory_;
129 HostPortProxyPair host_port_proxy_pair_; 139 HostPortProxyPair host_port_proxy_pair_;
130 BoundNetLog net_log_; 140 BoundNetLog net_log_;
131 TestCompletionCallback callback_; 141 TestCompletionCallback callback_;
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 stream.reset(); // Will reset stream 3. 288 stream.reset(); // Will reset stream 3.
279 289
280 EXPECT_TRUE(socket_data.at_read_eof()); 290 EXPECT_TRUE(socket_data.at_read_eof());
281 EXPECT_TRUE(socket_data.at_write_eof()); 291 EXPECT_TRUE(socket_data.at_write_eof());
282 EXPECT_TRUE(socket_data2.at_read_eof()); 292 EXPECT_TRUE(socket_data2.at_read_eof());
283 EXPECT_TRUE(socket_data2.at_write_eof()); 293 EXPECT_TRUE(socket_data2.at_write_eof());
284 } 294 }
285 295
286 } // namespace test 296 } // namespace test
287 } // namespace net 297 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_stream_sequencer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698