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

Side by Side Diff: net/quic/core/quic_session_test.cc

Issue 2916033003: Landing Recent QUIC changes until 03:18 AM, May 28, UTC (Closed)
Patch Set: A few more EXPORTs. Created 3 years, 6 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/core/quic_session.cc ('k') | net/quic/core/quic_spdy_session.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/core/quic_session.h" 5 #include "net/quic/core/quic_session.h"
6 6
7 #include <cstdint> 7 #include <cstdint>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 QuicConsumedData SendLargeFakeData(QuicStream* stream, int bytes) { 221 QuicConsumedData SendLargeFakeData(QuicStream* stream, int bytes) {
222 DCHECK(writev_consumes_all_data_); 222 DCHECK(writev_consumes_all_data_);
223 struct iovec iov; 223 struct iovec iov;
224 iov.iov_base = nullptr; // should not be read. 224 iov.iov_base = nullptr; // should not be read.
225 iov.iov_len = static_cast<size_t>(bytes); 225 iov.iov_len = static_cast<size_t>(bytes);
226 return WritevData(stream, stream->id(), QuicIOVector(&iov, 1, bytes), 0, 226 return WritevData(stream, stream->id(), QuicIOVector(&iov, 1, bytes), 0,
227 FIN, nullptr); 227 FIN, nullptr);
228 } 228 }
229 229
230 using QuicSession::PostProcessAfterData; 230 using QuicSession::PostProcessAfterData;
231 using QuicSession::closed_streams;
232 using QuicSession::zombie_streams;
231 233
232 private: 234 private:
233 StrictMock<TestCryptoStream> crypto_stream_; 235 StrictMock<TestCryptoStream> crypto_stream_;
234 236
235 bool writev_consumes_all_data_; 237 bool writev_consumes_all_data_;
236 }; 238 };
237 239
238 class QuicSessionTestBase : public QuicTestWithParam<QuicVersion> { 240 class QuicSessionTestBase : public QuicTestWithParam<QuicVersion> {
239 protected: 241 protected:
240 explicit QuicSessionTestBase(Perspective perspective) 242 explicit QuicSessionTestBase(Perspective perspective)
(...skipping 1098 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 TEST_P(QuicSessionTestClient, EnableFHOLThroughConfigOption) { 1341 TEST_P(QuicSessionTestClient, EnableFHOLThroughConfigOption) {
1340 session_.config()->SetForceHolBlocking(); 1342 session_.config()->SetForceHolBlocking();
1341 session_.OnConfigNegotiated(); 1343 session_.OnConfigNegotiated();
1342 if (version() != QUIC_VERSION_36) { 1344 if (version() != QUIC_VERSION_36) {
1343 EXPECT_FALSE(session_.force_hol_blocking()); 1345 EXPECT_FALSE(session_.force_hol_blocking());
1344 } else { 1346 } else {
1345 EXPECT_TRUE(session_.force_hol_blocking()); 1347 EXPECT_TRUE(session_.force_hol_blocking());
1346 } 1348 }
1347 } 1349 }
1348 1350
1351 TEST_P(QuicSessionTestServer, ZombieStreams) {
1352 if (!session_.use_stream_notifier()) {
1353 return;
1354 }
1355 TestStream* stream2 = session_.CreateOutgoingDynamicStream(kDefaultPriority);
1356 QuicStreamPeer::SetStreamBytesWritten(3, stream2);
1357 EXPECT_TRUE(stream2->IsWaitingForAcks());
1358
1359 EXPECT_CALL(*connection_, SendRstStream(2, _, _));
1360 session_.CloseStream(2);
1361 EXPECT_TRUE(QuicContainsKey(session_.zombie_streams(), 2));
1362 EXPECT_TRUE(session_.closed_streams()->empty());
1363 session_.OnStreamDoneWaitingForAcks(2);
1364 EXPECT_FALSE(QuicContainsKey(session_.zombie_streams(), 2));
1365 EXPECT_EQ(1u, session_.closed_streams()->size());
1366 EXPECT_EQ(2u, session_.closed_streams()->front()->id());
1367 }
1368
1349 } // namespace 1369 } // namespace
1350 } // namespace test 1370 } // namespace test
1351 } // namespace net 1371 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_session.cc ('k') | net/quic/core/quic_spdy_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698