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

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

Issue 1320303009: relnote: Allow individual QUIC writers to limit the maximum packet size. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0909_1
Patch Set: Created 5 years, 3 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
« no previous file with comments | « net/quic/quic_stream_factory.cc ('k') | net/quic/test_tools/quic_test_utils.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/reliable_quic_stream.h" 5 #include "net/quic/reliable_quic_stream.h"
6 6
7 #include "net/quic/quic_ack_notifier.h" 7 #include "net/quic/quic_ack_notifier.h"
8 #include "net/quic/quic_connection.h" 8 #include "net/quic/quic_connection.h"
9 #include "net/quic/quic_utils.h" 9 #include "net/quic/quic_utils.h"
10 #include "net/quic/quic_write_blocked_list.h" 10 #include "net/quic/quic_write_blocked_list.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 QuicVersionVector supported_versions_; 151 QuicVersionVector supported_versions_;
152 const QuicStreamId kTestStreamId = 5u; 152 const QuicStreamId kTestStreamId = 5u;
153 }; 153 };
154 154
155 TEST_F(ReliableQuicStreamTest, WriteAllData) { 155 TEST_F(ReliableQuicStreamTest, WriteAllData) {
156 Initialize(kShouldProcessData); 156 Initialize(kShouldProcessData);
157 157
158 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead( 158 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead(
159 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, 159 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
160 PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP); 160 PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP);
161 connection_->set_max_packet_length(length); 161 connection_->SetMaxPacketLength(length);
162 162
163 EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) 163 EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _))
164 .WillOnce(Return(QuicConsumedData(kDataLen, true))); 164 .WillOnce(Return(QuicConsumedData(kDataLen, true)));
165 stream_->WriteOrBufferData(kData1, false, nullptr); 165 stream_->WriteOrBufferData(kData1, false, nullptr);
166 EXPECT_FALSE(HasWriteBlockedStreams()); 166 EXPECT_FALSE(HasWriteBlockedStreams());
167 } 167 }
168 168
169 TEST_F(ReliableQuicStreamTest, NoBlockingIfNoDataOrFin) { 169 TEST_F(ReliableQuicStreamTest, NoBlockingIfNoDataOrFin) {
170 Initialize(kShouldProcessData); 170 Initialize(kShouldProcessData);
171 171
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); 210 ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams());
211 } 211 }
212 212
213 TEST_F(ReliableQuicStreamTest, WriteOrBufferData) { 213 TEST_F(ReliableQuicStreamTest, WriteOrBufferData) {
214 Initialize(kShouldProcessData); 214 Initialize(kShouldProcessData);
215 215
216 EXPECT_FALSE(HasWriteBlockedStreams()); 216 EXPECT_FALSE(HasWriteBlockedStreams());
217 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead( 217 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead(
218 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, 218 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
219 PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP); 219 PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP);
220 connection_->set_max_packet_length(length); 220 connection_->SetMaxPacketLength(length);
221 221
222 EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)).WillOnce( 222 EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)).WillOnce(
223 Return(QuicConsumedData(kDataLen - 1, false))); 223 Return(QuicConsumedData(kDataLen - 1, false)));
224 stream_->WriteOrBufferData(kData1, false, nullptr); 224 stream_->WriteOrBufferData(kData1, false, nullptr);
225 EXPECT_TRUE(HasWriteBlockedStreams()); 225 EXPECT_TRUE(HasWriteBlockedStreams());
226 226
227 // Queue a bytes_consumed write. 227 // Queue a bytes_consumed write.
228 stream_->WriteOrBufferData(kData2, false, nullptr); 228 stream_->WriteOrBufferData(kData2, false, nullptr);
229 229
230 // Make sure we get the tail of the first write followed by the bytes_consumed 230 // Make sure we get the tail of the first write followed by the bytes_consumed
(...skipping 13 matching lines...) Expand all
244 TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithFecProtectAlways) { 244 TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithFecProtectAlways) {
245 Initialize(kShouldProcessData); 245 Initialize(kShouldProcessData);
246 246
247 // Set FEC policy on stream. 247 // Set FEC policy on stream.
248 ReliableQuicStreamPeer::SetFecPolicy(stream_, FEC_PROTECT_ALWAYS); 248 ReliableQuicStreamPeer::SetFecPolicy(stream_, FEC_PROTECT_ALWAYS);
249 249
250 EXPECT_FALSE(HasWriteBlockedStreams()); 250 EXPECT_FALSE(HasWriteBlockedStreams());
251 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead( 251 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead(
252 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, 252 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
253 PACKET_6BYTE_PACKET_NUMBER, 0u, IN_FEC_GROUP); 253 PACKET_6BYTE_PACKET_NUMBER, 0u, IN_FEC_GROUP);
254 connection_->set_max_packet_length(length); 254 connection_->SetMaxPacketLength(length);
255 255
256 // Write first data onto stream, which will cause one session write. 256 // Write first data onto stream, which will cause one session write.
257 EXPECT_CALL(*session_, WritevData(_, _, _, _, MUST_FEC_PROTECT, _)).WillOnce( 257 EXPECT_CALL(*session_, WritevData(_, _, _, _, MUST_FEC_PROTECT, _)).WillOnce(
258 Return(QuicConsumedData(kDataLen - 1, false))); 258 Return(QuicConsumedData(kDataLen - 1, false)));
259 stream_->WriteOrBufferData(kData1, false, nullptr); 259 stream_->WriteOrBufferData(kData1, false, nullptr);
260 EXPECT_TRUE(HasWriteBlockedStreams()); 260 EXPECT_TRUE(HasWriteBlockedStreams());
261 261
262 // Queue a bytes_consumed write. 262 // Queue a bytes_consumed write.
263 stream_->WriteOrBufferData(kData2, false, nullptr); 263 stream_->WriteOrBufferData(kData2, false, nullptr);
264 264
(...skipping 14 matching lines...) Expand all
279 TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithFecProtectOptional) { 279 TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithFecProtectOptional) {
280 Initialize(kShouldProcessData); 280 Initialize(kShouldProcessData);
281 281
282 // Set FEC policy on stream. 282 // Set FEC policy on stream.
283 ReliableQuicStreamPeer::SetFecPolicy(stream_, FEC_PROTECT_OPTIONAL); 283 ReliableQuicStreamPeer::SetFecPolicy(stream_, FEC_PROTECT_OPTIONAL);
284 284
285 EXPECT_FALSE(HasWriteBlockedStreams()); 285 EXPECT_FALSE(HasWriteBlockedStreams());
286 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead( 286 size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead(
287 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, 287 PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion,
288 PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP); 288 PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP);
289 connection_->set_max_packet_length(length); 289 connection_->SetMaxPacketLength(length);
290 290
291 // Write first data onto stream, which will cause one session write. 291 // Write first data onto stream, which will cause one session write.
292 EXPECT_CALL(*session_, WritevData(_, _, _, _, MAY_FEC_PROTECT, _)).WillOnce( 292 EXPECT_CALL(*session_, WritevData(_, _, _, _, MAY_FEC_PROTECT, _)).WillOnce(
293 Return(QuicConsumedData(kDataLen - 1, false))); 293 Return(QuicConsumedData(kDataLen - 1, false)));
294 stream_->WriteOrBufferData(kData1, false, nullptr); 294 stream_->WriteOrBufferData(kData1, false, nullptr);
295 EXPECT_TRUE(HasWriteBlockedStreams()); 295 EXPECT_TRUE(HasWriteBlockedStreams());
296 296
297 // Queue a bytes_consumed write. 297 // Queue a bytes_consumed write.
298 stream_->WriteOrBufferData(kData2, false, nullptr); 298 stream_->WriteOrBufferData(kData2, false, nullptr);
299 299
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 copt.push_back(kFSTR); 706 copt.push_back(kFSTR);
707 QuicConfigPeer::SetReceivedConnectionOptions(config, copt); 707 QuicConfigPeer::SetReceivedConnectionOptions(config, copt);
708 EXPECT_EQ(FEC_PROTECT_OPTIONAL, stream_->fec_policy()); 708 EXPECT_EQ(FEC_PROTECT_OPTIONAL, stream_->fec_policy());
709 stream_->SetFromConfig(); 709 stream_->SetFromConfig();
710 EXPECT_EQ(FEC_PROTECT_ALWAYS, stream_->fec_policy()); 710 EXPECT_EQ(FEC_PROTECT_ALWAYS, stream_->fec_policy());
711 } 711 }
712 712
713 } // namespace 713 } // namespace
714 } // namespace test 714 } // namespace test
715 } // namespace net 715 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_stream_factory.cc ('k') | net/quic/test_tools/quic_test_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698