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

Side by Side Diff: net/spdy/spdy_session_unittest.cc

Issue 2167253002: s/SYN_STREAM/HEADERS/ in frame types, method names, comments. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 4 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/spdy/spdy_session.cc ('k') | net/spdy/spdy_stream.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/spdy/spdy_session.h" 5 #include "net/spdy/spdy_session.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 // for crbug.com/379469 597 // for crbug.com/379469
598 TEST_F(SpdySessionTest, GoAwayWhileDraining) { 598 TEST_F(SpdySessionTest, GoAwayWhileDraining) {
599 session_deps_.host_resolver->set_synchronous_mode(true); 599 session_deps_.host_resolver->set_synchronous_mode(true);
600 600
601 SpdySerializedFrame req( 601 SpdySerializedFrame req(
602 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true)); 602 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
603 MockWrite writes[] = { 603 MockWrite writes[] = {
604 CreateMockWrite(req, 0), 604 CreateMockWrite(req, 0),
605 }; 605 };
606 606
607 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 607 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
608 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway(1)); 608 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway(1));
609 SpdySerializedFrame body(spdy_util_.ConstructSpdyDataFrame(1, true)); 609 SpdySerializedFrame body(spdy_util_.ConstructSpdyDataFrame(1, true));
610 size_t joint_size = goaway.size() * 2 + body.size(); 610 size_t joint_size = goaway.size() * 2 + body.size();
611 611
612 // Compose interleaved |goaway| and |body| frames into a single read. 612 // Compose interleaved |goaway| and |body| frames into a single read.
613 std::unique_ptr<char[]> buffer(new char[joint_size]); 613 std::unique_ptr<char[]> buffer(new char[joint_size]);
614 { 614 {
615 size_t out = 0; 615 size_t out = 0;
616 memcpy(&buffer[out], goaway.data(), goaway.size()); 616 memcpy(&buffer[out], goaway.data(), goaway.size());
617 out += goaway.size(); 617 out += goaway.size();
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 test_url_, MEDIUM, BoundNetLog(), 698 test_url_, MEDIUM, BoundNetLog(),
699 CompletionCallback()); 699 CompletionCallback());
700 EXPECT_THAT(rv, IsError(ERR_FAILED)); 700 EXPECT_THAT(rv, IsError(ERR_FAILED));
701 701
702 EXPECT_TRUE(session_); 702 EXPECT_TRUE(session_);
703 data.Resume(); 703 data.Resume();
704 base::RunLoop().RunUntilIdle(); 704 base::RunLoop().RunUntilIdle();
705 EXPECT_FALSE(session_); 705 EXPECT_FALSE(session_);
706 } 706 }
707 707
708 // Receiving a SYN_STREAM frame after a GOAWAY frame should result in 708 // Receiving a HEADERS frame after a GOAWAY frame should result in
709 // the stream being refused. 709 // the stream being refused.
710 TEST_F(SpdySessionTest, SynStreamAfterGoAway) { 710 TEST_F(SpdySessionTest, HeadersAfterGoAway) {
711 session_deps_.host_resolver->set_synchronous_mode(true); 711 session_deps_.host_resolver->set_synchronous_mode(true);
712 712
713 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway(1)); 713 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway(1));
714 SpdySerializedFrame push( 714 SpdySerializedFrame push(
715 spdy_util_.ConstructSpdyPush(nullptr, 0, 2, 1, kDefaultUrl)); 715 spdy_util_.ConstructSpdyPush(nullptr, 0, 2, 1, kDefaultUrl));
716 MockRead reads[] = { 716 MockRead reads[] = {
717 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(goaway, 2), 717 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(goaway, 2),
718 MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push, 4), 718 MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push, 4),
719 MockRead(ASYNC, 0, 6) // EOF 719 MockRead(ASYNC, 0, 6) // EOF
720 }; 720 };
(...skipping 22 matching lines...) Expand all
743 743
744 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); 744 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_));
745 745
746 // Read and process the GOAWAY frame. 746 // Read and process the GOAWAY frame.
747 data.Resume(); 747 data.Resume();
748 base::RunLoop().RunUntilIdle(); 748 base::RunLoop().RunUntilIdle();
749 749
750 EXPECT_FALSE(HasSpdySession(spdy_session_pool_, key_)); 750 EXPECT_FALSE(HasSpdySession(spdy_session_pool_, key_));
751 EXPECT_TRUE(session_->IsStreamActive(1)); 751 EXPECT_TRUE(session_->IsStreamActive(1));
752 752
753 // Read and process the SYN_STREAM frame, the subsequent RST_STREAM, 753 // Read and process the HEADERS frame, the subsequent RST_STREAM,
754 // and EOF. 754 // and EOF.
755 data.Resume(); 755 data.Resume();
756 base::RunLoop().RunUntilIdle(); 756 base::RunLoop().RunUntilIdle();
757 EXPECT_FALSE(session_); 757 EXPECT_FALSE(session_);
758 } 758 }
759 759
760 // A session observing a network change with active streams should close 760 // A session observing a network change with active streams should close
761 // when the last active stream is closed. 761 // when the last active stream is closed.
762 TEST_F(SpdySessionTest, NetworkChangeWithActiveStreams) { 762 TEST_F(SpdySessionTest, NetworkChangeWithActiveStreams) {
763 session_deps_.host_resolver->set_synchronous_mode(true); 763 session_deps_.host_resolver->set_synchronous_mode(true);
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 SpdySerializedFrame req1( 960 SpdySerializedFrame req1(
961 spdy_util_.ConstructSpdyGet(nullptr, 0, kLastStreamId - 2, MEDIUM, true)); 961 spdy_util_.ConstructSpdyGet(nullptr, 0, kLastStreamId - 2, MEDIUM, true));
962 SpdySerializedFrame req2( 962 SpdySerializedFrame req2(
963 spdy_util_.ConstructSpdyGet(nullptr, 0, kLastStreamId, MEDIUM, true)); 963 spdy_util_.ConstructSpdyGet(nullptr, 0, kLastStreamId, MEDIUM, true));
964 964
965 MockWrite writes[] = { 965 MockWrite writes[] = {
966 CreateMockWrite(req1, 0), CreateMockWrite(req2, 1), 966 CreateMockWrite(req1, 0), CreateMockWrite(req2, 1),
967 }; 967 };
968 968
969 SpdySerializedFrame resp1( 969 SpdySerializedFrame resp1(
970 spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, kLastStreamId - 2)); 970 spdy_util_.ConstructSpdyGetReply(nullptr, 0, kLastStreamId - 2));
971 SpdySerializedFrame resp2( 971 SpdySerializedFrame resp2(
972 spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, kLastStreamId)); 972 spdy_util_.ConstructSpdyGetReply(nullptr, 0, kLastStreamId));
973 973
974 SpdySerializedFrame body1( 974 SpdySerializedFrame body1(
975 spdy_util_.ConstructSpdyDataFrame(kLastStreamId - 2, true)); 975 spdy_util_.ConstructSpdyDataFrame(kLastStreamId - 2, true));
976 SpdySerializedFrame body2( 976 SpdySerializedFrame body2(
977 spdy_util_.ConstructSpdyDataFrame(kLastStreamId, true)); 977 spdy_util_.ConstructSpdyDataFrame(kLastStreamId, true));
978 978
979 MockRead reads[] = { 979 MockRead reads[] = {
980 CreateMockRead(resp1, 2), CreateMockRead(resp2, 3), 980 CreateMockRead(resp1, 2), CreateMockRead(resp2, 3),
981 MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(body1, 5), 981 MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(body1, 5),
982 CreateMockRead(body2, 6), MockRead(ASYNC, 0, 7) // EOF 982 CreateMockRead(body2, 6), MockRead(ASYNC, 0, 7) // EOF
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 SpdySerializedFrame settings_frame_one( 1080 SpdySerializedFrame settings_frame_one(
1081 spdy_util_.ConstructSpdySettings(settings_one)); 1081 spdy_util_.ConstructSpdySettings(settings_one));
1082 1082
1083 // Acknowledge it. 1083 // Acknowledge it.
1084 SpdySerializedFrame settings_ack1(spdy_util_.ConstructSpdySettingsAck()); 1084 SpdySerializedFrame settings_ack1(spdy_util_.ConstructSpdySettingsAck());
1085 1085
1086 // Request and response. 1086 // Request and response.
1087 SpdySerializedFrame req( 1087 SpdySerializedFrame req(
1088 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true)); 1088 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
1089 1089
1090 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 1090 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
1091 1091
1092 SpdySerializedFrame body(spdy_util_.ConstructSpdyDataFrame(1, true)); 1092 SpdySerializedFrame body(spdy_util_.ConstructSpdyDataFrame(1, true));
1093 1093
1094 MockRead reads[] = {CreateMockRead(settings_frame_zero, 0), 1094 MockRead reads[] = {CreateMockRead(settings_frame_zero, 0),
1095 MockRead(ASYNC, ERR_IO_PENDING, 2), 1095 MockRead(ASYNC, ERR_IO_PENDING, 2),
1096 CreateMockRead(settings_frame_one, 3), 1096 CreateMockRead(settings_frame_one, 3),
1097 CreateMockRead(resp, 6), 1097 CreateMockRead(resp, 6),
1098 CreateMockRead(body, 7), 1098 CreateMockRead(body, 7),
1099 MockRead(ASYNC, 0, 8)}; 1099 MockRead(ASYNC, 0, 8)};
1100 1100
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1255 // Verify that there is one unclaimed push stream. 1255 // Verify that there is one unclaimed push stream.
1256 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams()); 1256 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams());
1257 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url( 1257 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url(
1258 GURL("https://www.example.org/a.dat"))); 1258 GURL("https://www.example.org/a.dat")));
1259 1259
1260 // Unclaimed push body consumed bytes from the session window. 1260 // Unclaimed push body consumed bytes from the session window.
1261 EXPECT_EQ(kDefaultInitialWindowSize - kUploadDataSize, 1261 EXPECT_EQ(kDefaultInitialWindowSize - kUploadDataSize,
1262 session_->session_recv_window_size_); 1262 session_->session_recv_window_size_);
1263 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); 1263 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_);
1264 1264
1265 // Shift time to expire the push stream. Read the second SYN_STREAM, 1265 // Shift time to expire the push stream. Read the second HEADERS,
1266 // and verify a RST_STREAM was written. 1266 // and verify a RST_STREAM was written.
1267 g_time_delta = base::TimeDelta::FromSeconds(301); 1267 g_time_delta = base::TimeDelta::FromSeconds(301);
1268 data.Resume(); 1268 data.Resume();
1269 base::RunLoop().RunUntilIdle(); 1269 base::RunLoop().RunUntilIdle();
1270 1270
1271 // Verify that the second pushed stream evicted the first pushed stream. 1271 // Verify that the second pushed stream evicted the first pushed stream.
1272 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams()); 1272 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams());
1273 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url( 1273 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url(
1274 GURL("https://www.example.org/0.dat"))); 1274 GURL("https://www.example.org/0.dat")));
1275 1275
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
1672 histogram_tester.ExpectBucketCount( 1672 histogram_tester.ExpectBucketCount(
1673 "Net.SpdySynStreamCompressionPercentage", 81, 1); 1673 "Net.SpdySynStreamCompressionPercentage", 81, 1);
1674 1674
1675 // Read and process EOF. 1675 // Read and process EOF.
1676 EXPECT_TRUE(session_); 1676 EXPECT_TRUE(session_);
1677 data.Resume(); 1677 data.Resume();
1678 base::RunLoop().RunUntilIdle(); 1678 base::RunLoop().RunUntilIdle();
1679 EXPECT_FALSE(session_); 1679 EXPECT_FALSE(session_);
1680 } 1680 }
1681 1681
1682 // Queue up a low-priority SYN_STREAM followed by a high-priority 1682 // Queue up a low-priority HEADERS followed by a high-priority
1683 // one. The high priority one should still send first and receive 1683 // one. The high priority one should still send first and receive
1684 // first. 1684 // first.
1685 TEST_F(SpdySessionTest, OutOfOrderSynStreams) { 1685 TEST_F(SpdySessionTest, OutOfOrderHeaders) {
1686 // Construct the request. 1686 // Construct the request.
1687 SpdySerializedFrame req_highest( 1687 SpdySerializedFrame req_highest(
1688 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, HIGHEST, true)); 1688 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, HIGHEST, true));
1689 SpdySerializedFrame req_lowest( 1689 SpdySerializedFrame req_lowest(
1690 spdy_util_.ConstructSpdyGet(nullptr, 0, 3, LOWEST, true)); 1690 spdy_util_.ConstructSpdyGet(nullptr, 0, 3, LOWEST, true));
1691 MockWrite writes[] = { 1691 MockWrite writes[] = {
1692 CreateMockWrite(req_highest, 0), CreateMockWrite(req_lowest, 1), 1692 CreateMockWrite(req_highest, 0), CreateMockWrite(req_lowest, 1),
1693 }; 1693 };
1694 1694
1695 SpdySerializedFrame resp_highest( 1695 SpdySerializedFrame resp_highest(
1696 spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 1696 spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
1697 SpdySerializedFrame body_highest(spdy_util_.ConstructSpdyDataFrame(1, true)); 1697 SpdySerializedFrame body_highest(spdy_util_.ConstructSpdyDataFrame(1, true));
1698 SpdySerializedFrame resp_lowest( 1698 SpdySerializedFrame resp_lowest(
1699 spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 3)); 1699 spdy_util_.ConstructSpdyGetReply(nullptr, 0, 3));
1700 SpdySerializedFrame body_lowest(spdy_util_.ConstructSpdyDataFrame(3, true)); 1700 SpdySerializedFrame body_lowest(spdy_util_.ConstructSpdyDataFrame(3, true));
1701 MockRead reads[] = { 1701 MockRead reads[] = {
1702 CreateMockRead(resp_highest, 2), CreateMockRead(body_highest, 3), 1702 CreateMockRead(resp_highest, 2), CreateMockRead(body_highest, 3),
1703 CreateMockRead(resp_lowest, 4), CreateMockRead(body_lowest, 5), 1703 CreateMockRead(resp_lowest, 4), CreateMockRead(body_lowest, 5),
1704 MockRead(ASYNC, 0, 6) // EOF 1704 MockRead(ASYNC, 0, 6) // EOF
1705 }; 1705 };
1706 1706
1707 session_deps_.host_resolver->set_synchronous_mode(true); 1707 session_deps_.host_resolver->set_synchronous_mode(true);
1708 1708
1709 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 1709 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1749 1749
1750 TEST_F(SpdySessionTest, CancelStream) { 1750 TEST_F(SpdySessionTest, CancelStream) {
1751 // Request 1, at HIGHEST priority, will be cancelled before it writes data. 1751 // Request 1, at HIGHEST priority, will be cancelled before it writes data.
1752 // Request 2, at LOWEST priority, will be a full request and will be id 1. 1752 // Request 2, at LOWEST priority, will be a full request and will be id 1.
1753 SpdySerializedFrame req2( 1753 SpdySerializedFrame req2(
1754 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 1754 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
1755 MockWrite writes[] = { 1755 MockWrite writes[] = {
1756 CreateMockWrite(req2, 0), 1756 CreateMockWrite(req2, 0),
1757 }; 1757 };
1758 1758
1759 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 1759 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
1760 SpdySerializedFrame body2(spdy_util_.ConstructSpdyDataFrame(1, true)); 1760 SpdySerializedFrame body2(spdy_util_.ConstructSpdyDataFrame(1, true));
1761 MockRead reads[] = { 1761 MockRead reads[] = {
1762 CreateMockRead(resp2, 1), MockRead(ASYNC, ERR_IO_PENDING, 2), 1762 CreateMockRead(resp2, 1), MockRead(ASYNC, ERR_IO_PENDING, 2),
1763 CreateMockRead(body2, 3), MockRead(ASYNC, 0, 4) // EOF 1763 CreateMockRead(body2, 3), MockRead(ASYNC, 0, 4) // EOF
1764 }; 1764 };
1765 1765
1766 session_deps_.host_resolver->set_synchronous_mode(true); 1766 session_deps_.host_resolver->set_synchronous_mode(true);
1767 1767
1768 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 1768 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
1769 session_deps_.socket_factory->AddSocketDataProvider(&data); 1769 session_deps_.socket_factory->AddSocketDataProvider(&data);
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
2213 MockWrite writes[] = { 2213 MockWrite writes[] = {
2214 CreateMockWrite(settings_ack, 1), CreateMockWrite(req1, 2), 2214 CreateMockWrite(settings_ack, 1), CreateMockWrite(req1, 2),
2215 CreateMockWrite(req2, 5), CreateMockWrite(req3, 8), 2215 CreateMockWrite(req2, 5), CreateMockWrite(req3, 8),
2216 }; 2216 };
2217 2217
2218 // Set up the socket so we read a SETTINGS frame that sets max concurrent 2218 // Set up the socket so we read a SETTINGS frame that sets max concurrent
2219 // streams to 1. 2219 // streams to 1.
2220 SpdySerializedFrame settings_frame( 2220 SpdySerializedFrame settings_frame(
2221 spdy_util_.ConstructSpdySettings(new_settings)); 2221 spdy_util_.ConstructSpdySettings(new_settings));
2222 2222
2223 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2223 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2224 SpdySerializedFrame body1(spdy_util_.ConstructSpdyDataFrame(1, true)); 2224 SpdySerializedFrame body1(spdy_util_.ConstructSpdyDataFrame(1, true));
2225 2225
2226 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 3)); 2226 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 3));
2227 SpdySerializedFrame body2(spdy_util_.ConstructSpdyDataFrame(3, true)); 2227 SpdySerializedFrame body2(spdy_util_.ConstructSpdyDataFrame(3, true));
2228 2228
2229 SpdySerializedFrame resp3(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 5)); 2229 SpdySerializedFrame resp3(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 5));
2230 SpdySerializedFrame body3(spdy_util_.ConstructSpdyDataFrame(5, true)); 2230 SpdySerializedFrame body3(spdy_util_.ConstructSpdyDataFrame(5, true));
2231 2231
2232 MockRead reads[] = { 2232 MockRead reads[] = {
2233 CreateMockRead(settings_frame, 0), 2233 CreateMockRead(settings_frame, 0),
2234 CreateMockRead(resp1, 3), 2234 CreateMockRead(resp1, 3),
2235 CreateMockRead(body1, 4), 2235 CreateMockRead(body1, 4),
2236 CreateMockRead(resp2, 6), 2236 CreateMockRead(resp2, 6),
2237 CreateMockRead(body2, 7), 2237 CreateMockRead(body2, 7),
2238 CreateMockRead(resp3, 9), 2238 CreateMockRead(resp3, 9),
2239 CreateMockRead(body3, 10), 2239 CreateMockRead(body3, 10),
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
2432 TestDataStream test_stream; 2432 TestDataStream test_stream;
2433 scoped_refptr<IOBuffer> payload(new IOBuffer(kPayloadSize)); 2433 scoped_refptr<IOBuffer> payload(new IOBuffer(kPayloadSize));
2434 char* payload_data = payload->data(); 2434 char* payload_data = payload->data();
2435 test_stream.GetBytes(payload_data, kPayloadSize); 2435 test_stream.GetBytes(payload_data, kPayloadSize);
2436 2436
2437 SpdySerializedFrame partial_data_frame(spdy_util_.ConstructSpdyDataFrame( 2437 SpdySerializedFrame partial_data_frame(spdy_util_.ConstructSpdyDataFrame(
2438 1, payload_data, kPayloadSize, /*fin=*/false)); 2438 1, payload_data, kPayloadSize, /*fin=*/false));
2439 SpdySerializedFrame finish_data_frame(spdy_util_.ConstructSpdyDataFrame( 2439 SpdySerializedFrame finish_data_frame(spdy_util_.ConstructSpdyDataFrame(
2440 1, payload_data, kPayloadSize - 1, /*fin=*/true)); 2440 1, payload_data, kPayloadSize - 1, /*fin=*/true));
2441 2441
2442 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2442 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2443 2443
2444 // Write 1 byte less than kMaxReadBytes to check that DoRead reads up to 32k 2444 // Write 1 byte less than kMaxReadBytes to check that DoRead reads up to 32k
2445 // bytes. 2445 // bytes.
2446 MockRead reads[] = { 2446 MockRead reads[] = {
2447 CreateMockRead(resp1, 1), 2447 CreateMockRead(resp1, 1),
2448 MockRead(ASYNC, ERR_IO_PENDING, 2), 2448 MockRead(ASYNC, ERR_IO_PENDING, 2),
2449 CreateMockRead(partial_data_frame, 3), 2449 CreateMockRead(partial_data_frame, 3),
2450 CreateMockRead(partial_data_frame, 4, SYNCHRONOUS), 2450 CreateMockRead(partial_data_frame, 4, SYNCHRONOUS),
2451 CreateMockRead(partial_data_frame, 5, SYNCHRONOUS), 2451 CreateMockRead(partial_data_frame, 5, SYNCHRONOUS),
2452 CreateMockRead(finish_data_frame, 6, SYNCHRONOUS), 2452 CreateMockRead(finish_data_frame, 6, SYNCHRONOUS),
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2499 TEST_F(SpdySessionTest, TestYieldingSlowReads) { 2499 TEST_F(SpdySessionTest, TestYieldingSlowReads) {
2500 session_deps_.host_resolver->set_synchronous_mode(true); 2500 session_deps_.host_resolver->set_synchronous_mode(true);
2501 session_deps_.time_func = SlowReads; 2501 session_deps_.time_func = SlowReads;
2502 2502
2503 SpdySerializedFrame req1( 2503 SpdySerializedFrame req1(
2504 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true)); 2504 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
2505 MockWrite writes[] = { 2505 MockWrite writes[] = {
2506 CreateMockWrite(req1, 0), 2506 CreateMockWrite(req1, 0),
2507 }; 2507 };
2508 2508
2509 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2509 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2510 2510
2511 MockRead reads[] = { 2511 MockRead reads[] = {
2512 CreateMockRead(resp1, 1), MockRead(ASYNC, 0, 2) // EOF 2512 CreateMockRead(resp1, 1), MockRead(ASYNC, 0, 2) // EOF
2513 }; 2513 };
2514 2514
2515 // Create SpdySession and SpdyStream and send the request. 2515 // Create SpdySession and SpdyStream and send the request.
2516 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 2516 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
2517 session_deps_.socket_factory->AddSocketDataProvider(&data); 2517 session_deps_.socket_factory->AddSocketDataProvider(&data);
2518 2518
2519 CreateNetworkSession(); 2519 CreateNetworkSession();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
2560 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true)); 2560 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
2561 MockWrite writes[] = { 2561 MockWrite writes[] = {
2562 CreateMockWrite(req1, 0), 2562 CreateMockWrite(req1, 0),
2563 }; 2563 };
2564 2564
2565 SpdySerializedFrame partial_data_frame( 2565 SpdySerializedFrame partial_data_frame(
2566 spdy_util_.ConstructSpdyDataFrame(1, "foo ", 4, /*fin=*/false)); 2566 spdy_util_.ConstructSpdyDataFrame(1, "foo ", 4, /*fin=*/false));
2567 SpdySerializedFrame finish_data_frame( 2567 SpdySerializedFrame finish_data_frame(
2568 spdy_util_.ConstructSpdyDataFrame(1, "bar", 3, /*fin=*/true)); 2568 spdy_util_.ConstructSpdyDataFrame(1, "bar", 3, /*fin=*/true));
2569 2569
2570 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2570 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2571 2571
2572 MockRead reads[] = { 2572 MockRead reads[] = {
2573 CreateMockRead(resp1, 1), 2573 CreateMockRead(resp1, 1),
2574 MockRead(ASYNC, ERR_IO_PENDING, 2), 2574 MockRead(ASYNC, ERR_IO_PENDING, 2),
2575 CreateMockRead(partial_data_frame, 3, ASYNC), 2575 CreateMockRead(partial_data_frame, 3, ASYNC),
2576 CreateMockRead(partial_data_frame, 4, SYNCHRONOUS), 2576 CreateMockRead(partial_data_frame, 4, SYNCHRONOUS),
2577 CreateMockRead(partial_data_frame, 5, SYNCHRONOUS), 2577 CreateMockRead(partial_data_frame, 5, SYNCHRONOUS),
2578 CreateMockRead(finish_data_frame, 6, SYNCHRONOUS), 2578 CreateMockRead(finish_data_frame, 6, SYNCHRONOUS),
2579 MockRead(ASYNC, 0, 7) // EOF 2579 MockRead(ASYNC, 0, 7) // EOF
2580 }; 2580 };
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2636 TestDataStream test_stream; 2636 TestDataStream test_stream;
2637 scoped_refptr<IOBuffer> payload(new IOBuffer(kPayloadSize)); 2637 scoped_refptr<IOBuffer> payload(new IOBuffer(kPayloadSize));
2638 char* payload_data = payload->data(); 2638 char* payload_data = payload->data();
2639 test_stream.GetBytes(payload_data, kPayloadSize); 2639 test_stream.GetBytes(payload_data, kPayloadSize);
2640 2640
2641 SpdySerializedFrame partial_data_frame(spdy_util_.ConstructSpdyDataFrame( 2641 SpdySerializedFrame partial_data_frame(spdy_util_.ConstructSpdyDataFrame(
2642 1, payload_data, kPayloadSize, /*fin=*/false)); 2642 1, payload_data, kPayloadSize, /*fin=*/false));
2643 SpdySerializedFrame finish_data_frame( 2643 SpdySerializedFrame finish_data_frame(
2644 spdy_util_.ConstructSpdyDataFrame(1, "h", 1, /*fin=*/true)); 2644 spdy_util_.ConstructSpdyDataFrame(1, "h", 1, /*fin=*/true));
2645 2645
2646 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2646 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2647 2647
2648 // Write 1 byte more than kMaxReadBytes to check that DoRead yields. 2648 // Write 1 byte more than kMaxReadBytes to check that DoRead yields.
2649 MockRead reads[] = { 2649 MockRead reads[] = {
2650 CreateMockRead(resp1, 1), 2650 CreateMockRead(resp1, 1),
2651 MockRead(ASYNC, ERR_IO_PENDING, 2), 2651 MockRead(ASYNC, ERR_IO_PENDING, 2),
2652 CreateMockRead(partial_data_frame, 3), 2652 CreateMockRead(partial_data_frame, 3),
2653 CreateMockRead(partial_data_frame, 4, SYNCHRONOUS), 2653 CreateMockRead(partial_data_frame, 4, SYNCHRONOUS),
2654 CreateMockRead(partial_data_frame, 5, SYNCHRONOUS), 2654 CreateMockRead(partial_data_frame, 5, SYNCHRONOUS),
2655 CreateMockRead(partial_data_frame, 6, SYNCHRONOUS), 2655 CreateMockRead(partial_data_frame, 6, SYNCHRONOUS),
2656 CreateMockRead(finish_data_frame, 7, SYNCHRONOUS), 2656 CreateMockRead(finish_data_frame, 7, SYNCHRONOUS),
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
2736 char* twok_payload_data = twok_payload->data(); 2736 char* twok_payload_data = twok_payload->data();
2737 test_stream2.GetBytes(twok_payload_data, kTwoKPayloadSize); 2737 test_stream2.GetBytes(twok_payload_data, kTwoKPayloadSize);
2738 2738
2739 SpdySerializedFrame eightk_data_frame(spdy_util_.ConstructSpdyDataFrame( 2739 SpdySerializedFrame eightk_data_frame(spdy_util_.ConstructSpdyDataFrame(
2740 1, eightk_payload_data, kEightKPayloadSize, /*fin=*/false)); 2740 1, eightk_payload_data, kEightKPayloadSize, /*fin=*/false));
2741 SpdySerializedFrame twok_data_frame(spdy_util_.ConstructSpdyDataFrame( 2741 SpdySerializedFrame twok_data_frame(spdy_util_.ConstructSpdyDataFrame(
2742 1, twok_payload_data, kTwoKPayloadSize, /*fin=*/false)); 2742 1, twok_payload_data, kTwoKPayloadSize, /*fin=*/false));
2743 SpdySerializedFrame finish_data_frame( 2743 SpdySerializedFrame finish_data_frame(
2744 spdy_util_.ConstructSpdyDataFrame(1, "h", 1, /*fin=*/true)); 2744 spdy_util_.ConstructSpdyDataFrame(1, "h", 1, /*fin=*/true));
2745 2745
2746 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2746 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2747 2747
2748 MockRead reads[] = { 2748 MockRead reads[] = {
2749 CreateMockRead(resp1, 1), 2749 CreateMockRead(resp1, 1),
2750 MockRead(ASYNC, ERR_IO_PENDING, 2), 2750 MockRead(ASYNC, ERR_IO_PENDING, 2),
2751 CreateMockRead(eightk_data_frame, 3), 2751 CreateMockRead(eightk_data_frame, 3),
2752 CreateMockRead(eightk_data_frame, 4, SYNCHRONOUS), 2752 CreateMockRead(eightk_data_frame, 4, SYNCHRONOUS),
2753 CreateMockRead(eightk_data_frame, 5, SYNCHRONOUS), 2753 CreateMockRead(eightk_data_frame, 5, SYNCHRONOUS),
2754 CreateMockRead(twok_data_frame, 6, SYNCHRONOUS), 2754 CreateMockRead(twok_data_frame, 6, SYNCHRONOUS),
2755 CreateMockRead(eightk_data_frame, 7, ASYNC), 2755 CreateMockRead(eightk_data_frame, 7, ASYNC),
2756 CreateMockRead(eightk_data_frame, 8, SYNCHRONOUS), 2756 CreateMockRead(eightk_data_frame, 8, SYNCHRONOUS),
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
2806 // nothing blows up. 2806 // nothing blows up.
2807 TEST_F(SpdySessionTest, GoAwayWhileInDoReadLoop) { 2807 TEST_F(SpdySessionTest, GoAwayWhileInDoReadLoop) {
2808 session_deps_.host_resolver->set_synchronous_mode(true); 2808 session_deps_.host_resolver->set_synchronous_mode(true);
2809 2809
2810 SpdySerializedFrame req1( 2810 SpdySerializedFrame req1(
2811 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true)); 2811 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
2812 MockWrite writes[] = { 2812 MockWrite writes[] = {
2813 CreateMockWrite(req1, 0), 2813 CreateMockWrite(req1, 0),
2814 }; 2814 };
2815 2815
2816 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 2816 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2817 SpdySerializedFrame body1(spdy_util_.ConstructSpdyDataFrame(1, true)); 2817 SpdySerializedFrame body1(spdy_util_.ConstructSpdyDataFrame(1, true));
2818 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway()); 2818 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway());
2819 2819
2820 MockRead reads[] = { 2820 MockRead reads[] = {
2821 CreateMockRead(resp1, 1), MockRead(ASYNC, ERR_IO_PENDING, 2), 2821 CreateMockRead(resp1, 1), MockRead(ASYNC, ERR_IO_PENDING, 2),
2822 CreateMockRead(body1, 3), CreateMockRead(goaway, 4), 2822 CreateMockRead(body1, 3), CreateMockRead(goaway, 4),
2823 }; 2823 };
2824 2824
2825 // Create SpdySession and SpdyStream and send the request. 2825 // Create SpdySession and SpdyStream and send the request.
2826 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 2826 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
3404 const int32_t data_frame_size = 2 * stream_max_recv_window_size; 3404 const int32_t data_frame_size = 2 * stream_max_recv_window_size;
3405 3405
3406 SpdySerializedFrame req( 3406 SpdySerializedFrame req(
3407 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 3407 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
3408 SpdySerializedFrame rst( 3408 SpdySerializedFrame rst(
3409 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_FLOW_CONTROL_ERROR)); 3409 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_FLOW_CONTROL_ERROR));
3410 MockWrite writes[] = { 3410 MockWrite writes[] = {
3411 CreateMockWrite(req, 0), CreateMockWrite(rst, 4), 3411 CreateMockWrite(req, 0), CreateMockWrite(rst, 4),
3412 }; 3412 };
3413 3413
3414 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3414 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3415 const std::string payload(data_frame_size, 'a'); 3415 const std::string payload(data_frame_size, 'a');
3416 SpdySerializedFrame data_frame(spdy_util_.ConstructSpdyDataFrame( 3416 SpdySerializedFrame data_frame(spdy_util_.ConstructSpdyDataFrame(
3417 1, payload.data(), data_frame_size, false)); 3417 1, payload.data(), data_frame_size, false));
3418 MockRead reads[] = { 3418 MockRead reads[] = {
3419 CreateMockRead(resp, 1), MockRead(ASYNC, ERR_IO_PENDING, 2), 3419 CreateMockRead(resp, 1), MockRead(ASYNC, ERR_IO_PENDING, 2),
3420 CreateMockRead(data_frame, 3), MockRead(ASYNC, ERR_IO_PENDING, 5), 3420 CreateMockRead(data_frame, 3), MockRead(ASYNC, ERR_IO_PENDING, 5),
3421 MockRead(ASYNC, 0, 6), 3421 MockRead(ASYNC, 0, 6),
3422 }; 3422 };
3423 3423
3424 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3424 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
3532 first_data_frame_size + second_data_frame_size); 3532 first_data_frame_size + second_data_frame_size);
3533 3533
3534 SpdySerializedFrame req( 3534 SpdySerializedFrame req(
3535 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 3535 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
3536 SpdySerializedFrame rst( 3536 SpdySerializedFrame rst(
3537 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_FLOW_CONTROL_ERROR)); 3537 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_FLOW_CONTROL_ERROR));
3538 MockWrite writes[] = { 3538 MockWrite writes[] = {
3539 CreateMockWrite(req, 0), CreateMockWrite(rst, 6), 3539 CreateMockWrite(req, 0), CreateMockWrite(rst, 6),
3540 }; 3540 };
3541 3541
3542 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3542 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3543 const std::string first_data_frame(first_data_frame_size, 'a'); 3543 const std::string first_data_frame(first_data_frame_size, 'a');
3544 SpdySerializedFrame first(spdy_util_.ConstructSpdyDataFrame( 3544 SpdySerializedFrame first(spdy_util_.ConstructSpdyDataFrame(
3545 1, first_data_frame.data(), first_data_frame_size, false)); 3545 1, first_data_frame.data(), first_data_frame_size, false));
3546 const std::string second_data_frame(second_data_frame_size, 'b'); 3546 const std::string second_data_frame(second_data_frame_size, 'b');
3547 SpdySerializedFrame second(spdy_util_.ConstructSpdyDataFrame( 3547 SpdySerializedFrame second(spdy_util_.ConstructSpdyDataFrame(
3548 1, second_data_frame.data(), second_data_frame_size, false)); 3548 1, second_data_frame.data(), second_data_frame_size, false));
3549 MockRead reads[] = { 3549 MockRead reads[] = {
3550 CreateMockRead(resp, 1), MockRead(ASYNC, ERR_IO_PENDING, 2), 3550 CreateMockRead(resp, 1), MockRead(ASYNC, ERR_IO_PENDING, 2),
3551 CreateMockRead(first, 3), MockRead(ASYNC, ERR_IO_PENDING, 4), 3551 CreateMockRead(first, 3), MockRead(ASYNC, ERR_IO_PENDING, 4),
3552 CreateMockRead(second, 5), MockRead(ASYNC, ERR_IO_PENDING, 7), 3552 CreateMockRead(second, 5), MockRead(ASYNC, ERR_IO_PENDING, 7),
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
3621 const std::string msg_data(kMsgDataSize, 'a'); 3621 const std::string msg_data(kMsgDataSize, 'a');
3622 3622
3623 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost( 3623 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost(
3624 kDefaultUrl, 1, kMsgDataSize, MEDIUM, nullptr, 0)); 3624 kDefaultUrl, 1, kMsgDataSize, MEDIUM, nullptr, 0));
3625 SpdySerializedFrame msg(spdy_util_.ConstructSpdyDataFrame( 3625 SpdySerializedFrame msg(spdy_util_.ConstructSpdyDataFrame(
3626 1, msg_data.data(), kMsgDataSize, false)); 3626 1, msg_data.data(), kMsgDataSize, false));
3627 MockWrite writes[] = { 3627 MockWrite writes[] = {
3628 CreateMockWrite(req, 0), CreateMockWrite(msg, 2), 3628 CreateMockWrite(req, 0), CreateMockWrite(msg, 2),
3629 }; 3629 };
3630 3630
3631 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3631 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3632 SpdySerializedFrame echo(spdy_util_.ConstructSpdyDataFrame( 3632 SpdySerializedFrame echo(spdy_util_.ConstructSpdyDataFrame(
3633 1, msg_data.data(), kMsgDataSize, false)); 3633 1, msg_data.data(), kMsgDataSize, false));
3634 SpdySerializedFrame window_update(spdy_util_.ConstructSpdyWindowUpdate( 3634 SpdySerializedFrame window_update(spdy_util_.ConstructSpdyWindowUpdate(
3635 kSessionFlowControlStreamId, kMsgDataSize)); 3635 kSessionFlowControlStreamId, kMsgDataSize));
3636 MockRead reads[] = { 3636 MockRead reads[] = {
3637 CreateMockRead(resp, 1), CreateMockRead(echo, 3), 3637 CreateMockRead(resp, 1), CreateMockRead(echo, 3),
3638 MockRead(ASYNC, ERR_IO_PENDING, 4), MockRead(ASYNC, 0, 5) // EOF 3638 MockRead(ASYNC, ERR_IO_PENDING, 4), MockRead(ASYNC, 0, 5) // EOF
3639 }; 3639 };
3640 3640
3641 // Create SpdySession and SpdyStream and send the request. 3641 // Create SpdySession and SpdyStream and send the request.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
3687 TEST_F(SpdySessionTest, SessionFlowControlNoSendLeaks) { 3687 TEST_F(SpdySessionTest, SessionFlowControlNoSendLeaks) {
3688 const int32_t kMsgDataSize = 100; 3688 const int32_t kMsgDataSize = 100;
3689 const std::string msg_data(kMsgDataSize, 'a'); 3689 const std::string msg_data(kMsgDataSize, 'a');
3690 3690
3691 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost( 3691 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost(
3692 kDefaultUrl, 1, kMsgDataSize, MEDIUM, nullptr, 0)); 3692 kDefaultUrl, 1, kMsgDataSize, MEDIUM, nullptr, 0));
3693 MockWrite writes[] = { 3693 MockWrite writes[] = {
3694 CreateMockWrite(req, 0), 3694 CreateMockWrite(req, 0),
3695 }; 3695 };
3696 3696
3697 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3697 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3698 MockRead reads[] = { 3698 MockRead reads[] = {
3699 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(resp, 2), 3699 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(resp, 2),
3700 MockRead(ASYNC, 0, 3) // EOF 3700 MockRead(ASYNC, 0, 3) // EOF
3701 }; 3701 };
3702 3702
3703 // Create SpdySession and SpdyStream and send the request. 3703 // Create SpdySession and SpdyStream and send the request.
3704 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3704 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
3705 session_deps_.host_resolver->set_synchronous_mode(true); 3705 session_deps_.host_resolver->set_synchronous_mode(true);
3706 session_deps_.socket_factory->AddSocketDataProvider(&data); 3706 session_deps_.socket_factory->AddSocketDataProvider(&data);
3707 3707
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
3758 const std::string msg_data(kMsgDataSize, 'a'); 3758 const std::string msg_data(kMsgDataSize, 'a');
3759 3759
3760 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost( 3760 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost(
3761 kDefaultUrl, 1, kMsgDataSize, MEDIUM, nullptr, 0)); 3761 kDefaultUrl, 1, kMsgDataSize, MEDIUM, nullptr, 0));
3762 SpdySerializedFrame msg(spdy_util_.ConstructSpdyDataFrame( 3762 SpdySerializedFrame msg(spdy_util_.ConstructSpdyDataFrame(
3763 1, msg_data.data(), kMsgDataSize, false)); 3763 1, msg_data.data(), kMsgDataSize, false));
3764 MockWrite writes[] = { 3764 MockWrite writes[] = {
3765 CreateMockWrite(req, 0), CreateMockWrite(msg, 2), 3765 CreateMockWrite(req, 0), CreateMockWrite(msg, 2),
3766 }; 3766 };
3767 3767
3768 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3768 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3769 SpdySerializedFrame echo(spdy_util_.ConstructSpdyDataFrame( 3769 SpdySerializedFrame echo(spdy_util_.ConstructSpdyDataFrame(
3770 1, msg_data.data(), kMsgDataSize, false)); 3770 1, msg_data.data(), kMsgDataSize, false));
3771 SpdySerializedFrame window_update(spdy_util_.ConstructSpdyWindowUpdate( 3771 SpdySerializedFrame window_update(spdy_util_.ConstructSpdyWindowUpdate(
3772 kSessionFlowControlStreamId, kMsgDataSize)); 3772 kSessionFlowControlStreamId, kMsgDataSize));
3773 MockRead reads[] = { 3773 MockRead reads[] = {
3774 CreateMockRead(resp, 1), 3774 CreateMockRead(resp, 1),
3775 MockRead(ASYNC, ERR_IO_PENDING, 3), 3775 MockRead(ASYNC, ERR_IO_PENDING, 3),
3776 CreateMockRead(echo, 4), 3776 CreateMockRead(echo, 4),
3777 MockRead(ASYNC, ERR_IO_PENDING, 5), 3777 MockRead(ASYNC, ERR_IO_PENDING, 5),
3778 CreateMockRead(window_update, 6), 3778 CreateMockRead(window_update, 6),
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
3863 session_deps_.host_resolver->set_synchronous_mode(true); 3863 session_deps_.host_resolver->set_synchronous_mode(true);
3864 3864
3865 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost( 3865 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost(
3866 kDefaultUrl, 1, kBodyDataSize, LOWEST, nullptr, 0)); 3866 kDefaultUrl, 1, kBodyDataSize, LOWEST, nullptr, 0));
3867 SpdySerializedFrame body( 3867 SpdySerializedFrame body(
3868 spdy_util_.ConstructSpdyDataFrame(1, kBodyData, kBodyDataSize, true)); 3868 spdy_util_.ConstructSpdyDataFrame(1, kBodyData, kBodyDataSize, true));
3869 MockWrite writes[] = { 3869 MockWrite writes[] = {
3870 CreateMockWrite(req, 0), CreateMockWrite(body, 1), 3870 CreateMockWrite(req, 0), CreateMockWrite(body, 1),
3871 }; 3871 };
3872 3872
3873 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3873 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3874 SpdySerializedFrame echo( 3874 SpdySerializedFrame echo(
3875 spdy_util_.ConstructSpdyDataFrame(1, kBodyData, kBodyDataSize, false)); 3875 spdy_util_.ConstructSpdyDataFrame(1, kBodyData, kBodyDataSize, false));
3876 MockRead reads[] = { 3876 MockRead reads[] = {
3877 CreateMockRead(resp, 2), MockRead(ASYNC, 0, 3) // EOF 3877 CreateMockRead(resp, 2), MockRead(ASYNC, 0, 3) // EOF
3878 }; 3878 };
3879 3879
3880 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3880 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
3881 session_deps_.socket_factory->AddSocketDataProvider(&data); 3881 session_deps_.socket_factory->AddSocketDataProvider(&data);
3882 3882
3883 CreateNetworkSession(); 3883 CreateNetworkSession();
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
3982 kDefaultUrl, 3, kBodyDataSize, MEDIUM, nullptr, 0)); 3982 kDefaultUrl, 3, kBodyDataSize, MEDIUM, nullptr, 0));
3983 SpdySerializedFrame body1( 3983 SpdySerializedFrame body1(
3984 spdy_util_.ConstructSpdyDataFrame(1, kBodyData, kBodyDataSize, true)); 3984 spdy_util_.ConstructSpdyDataFrame(1, kBodyData, kBodyDataSize, true));
3985 SpdySerializedFrame body2( 3985 SpdySerializedFrame body2(
3986 spdy_util_.ConstructSpdyDataFrame(3, kBodyData, kBodyDataSize, true)); 3986 spdy_util_.ConstructSpdyDataFrame(3, kBodyData, kBodyDataSize, true));
3987 MockWrite writes[] = { 3987 MockWrite writes[] = {
3988 CreateMockWrite(req1, 0), CreateMockWrite(req2, 1), 3988 CreateMockWrite(req1, 0), CreateMockWrite(req2, 1),
3989 CreateMockWrite(body2, 2), CreateMockWrite(body1, 3), 3989 CreateMockWrite(body2, 2), CreateMockWrite(body1, 3),
3990 }; 3990 };
3991 3991
3992 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 3992 SpdySerializedFrame resp1(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3993 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 3)); 3993 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 3));
3994 MockRead reads[] = { 3994 MockRead reads[] = {
3995 CreateMockRead(resp1, 4), CreateMockRead(resp2, 5), 3995 CreateMockRead(resp1, 4), CreateMockRead(resp2, 5),
3996 MockRead(ASYNC, 0, 6) // EOF 3996 MockRead(ASYNC, 0, 6) // EOF
3997 }; 3997 };
3998 3998
3999 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3999 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
4000 session_deps_.socket_factory->AddSocketDataProvider(&data); 4000 session_deps_.socket_factory->AddSocketDataProvider(&data);
4001 4001
4002 CreateNetworkSession(); 4002 CreateNetworkSession();
4003 CreateInsecureSpdySession(); 4003 CreateInsecureSpdySession();
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
4112 kDefaultUrl, 3, kBodyDataSize, LOWEST, nullptr, 0)); 4112 kDefaultUrl, 3, kBodyDataSize, LOWEST, nullptr, 0));
4113 SpdySerializedFrame req3(spdy_util_.ConstructSpdyPost( 4113 SpdySerializedFrame req3(spdy_util_.ConstructSpdyPost(
4114 kDefaultUrl, 5, kBodyDataSize, LOWEST, nullptr, 0)); 4114 kDefaultUrl, 5, kBodyDataSize, LOWEST, nullptr, 0));
4115 SpdySerializedFrame body2( 4115 SpdySerializedFrame body2(
4116 spdy_util_.ConstructSpdyDataFrame(3, kBodyData, kBodyDataSize, true)); 4116 spdy_util_.ConstructSpdyDataFrame(3, kBodyData, kBodyDataSize, true));
4117 MockWrite writes[] = { 4117 MockWrite writes[] = {
4118 CreateMockWrite(req1, 0), CreateMockWrite(req2, 1), 4118 CreateMockWrite(req1, 0), CreateMockWrite(req2, 1),
4119 CreateMockWrite(req3, 2), CreateMockWrite(body2, 3), 4119 CreateMockWrite(req3, 2), CreateMockWrite(body2, 3),
4120 }; 4120 };
4121 4121
4122 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 3)); 4122 SpdySerializedFrame resp2(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 3));
4123 MockRead reads[] = { 4123 MockRead reads[] = {
4124 CreateMockRead(resp2, 4), MockRead(ASYNC, ERR_IO_PENDING, 5), 4124 CreateMockRead(resp2, 4), MockRead(ASYNC, ERR_IO_PENDING, 5),
4125 MockRead(ASYNC, 0, 6) // EOF 4125 MockRead(ASYNC, 0, 6) // EOF
4126 }; 4126 };
4127 4127
4128 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 4128 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
4129 session_deps_.socket_factory->AddSocketDataProvider(&data); 4129 session_deps_.socket_factory->AddSocketDataProvider(&data);
4130 4130
4131 CreateNetworkSession(); 4131 CreateNetworkSession();
4132 CreateInsecureSpdySession(); 4132 CreateInsecureSpdySession();
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
4329 SpdySerializedFrame req( 4329 SpdySerializedFrame req(
4330 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 4330 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
4331 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway( 4331 SpdySerializedFrame goaway(spdy_util_.ConstructSpdyGoAway(
4332 0, GOAWAY_FLOW_CONTROL_ERROR, 4332 0, GOAWAY_FLOW_CONTROL_ERROR,
4333 "delta_window_size is 6 in DecreaseRecvWindowSize, which is larger than " 4333 "delta_window_size is 6 in DecreaseRecvWindowSize, which is larger than "
4334 "the receive window size of 1")); 4334 "the receive window size of 1"));
4335 MockWrite writes[] = { 4335 MockWrite writes[] = {
4336 CreateMockWrite(req, 0), CreateMockWrite(goaway, 4), 4336 CreateMockWrite(req, 0), CreateMockWrite(goaway, 4),
4337 }; 4337 };
4338 4338
4339 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetSynReply(nullptr, 0, 1)); 4339 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
4340 SpdySerializedFrame body(spdy_util_.ConstructSpdyDataFrame(1, true)); 4340 SpdySerializedFrame body(spdy_util_.ConstructSpdyDataFrame(1, true));
4341 MockRead reads[] = { 4341 MockRead reads[] = {
4342 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(resp, 2), 4342 MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(resp, 2),
4343 CreateMockRead(body, 3), 4343 CreateMockRead(body, 3),
4344 }; 4344 };
4345 4345
4346 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 4346 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
4347 session_deps_.socket_factory->AddSocketDataProvider(&data); 4347 session_deps_.socket_factory->AddSocketDataProvider(&data);
4348 4348
4349 CreateNetworkSession(); 4349 CreateNetworkSession();
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after
5398 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), 5398 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(),
5399 "spdy_pooling.pem"); 5399 "spdy_pooling.pem");
5400 ssl_info.is_issued_by_known_root = true; 5400 ssl_info.is_issued_by_known_root = true;
5401 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); 5401 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin));
5402 5402
5403 EXPECT_TRUE(SpdySession::CanPool( 5403 EXPECT_TRUE(SpdySession::CanPool(
5404 &tss, ssl_info, "www.example.org", "mail.example.org")); 5404 &tss, ssl_info, "www.example.org", "mail.example.org"));
5405 } 5405 }
5406 5406
5407 } // namespace net 5407 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_session.cc ('k') | net/spdy/spdy_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698