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

Unified Diff: net/spdy/spdy_session_unittest.cc

Issue 2596703002: http2: Update priorities of pushed streams (Closed)
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
Index: net/spdy/spdy_session_unittest.cc
diff --git a/net/spdy/spdy_session_unittest.cc b/net/spdy/spdy_session_unittest.cc
index cb8cd71633c60a5a601196aec314772957d5c4a5..f3c6b1bd1287a16a4ab061e7ee7accd26d8770a5 100644
--- a/net/spdy/spdy_session_unittest.cc
+++ b/net/spdy/spdy_session_unittest.cc
@@ -1287,9 +1287,16 @@ TEST_F(SpdySessionTest, CancelPushAfterSessionGoesAway) {
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame rst_a(
spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
- MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
+ MockWrite writes[] = {
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
+ };
SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
@@ -1299,9 +1306,9 @@ TEST_F(SpdySessionTest, CancelPushAfterSessionGoesAway) {
SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
MockRead reads[] = {
- CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
+ CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -1373,9 +1380,16 @@ TEST_F(SpdySessionTest, CancelPushAfterExpired) {
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame rst_a(
spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
- MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
+ MockWrite writes[] = {
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
+ };
SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
@@ -1385,9 +1399,9 @@ TEST_F(SpdySessionTest, CancelPushAfterExpired) {
SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
MockRead reads[] = {
- CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
+ CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -1460,9 +1474,16 @@ TEST_F(SpdySessionTest, CancelPushBeforeClaimed) {
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame rst_a(
spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
- MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
+ MockWrite writes[] = {
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
+ };
SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
@@ -1472,9 +1493,9 @@ TEST_F(SpdySessionTest, CancelPushBeforeClaimed) {
SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
MockRead reads[] = {
- CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
+ CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -1545,9 +1566,16 @@ TEST_F(SpdySessionTest, DeleteExpiredPushStreams) {
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame rst_a(
spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
- MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
+ MockWrite writes[] = {
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
+ };
SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
@@ -1557,9 +1585,9 @@ TEST_F(SpdySessionTest, DeleteExpiredPushStreams) {
SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
MockRead reads[] = {
- CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
+ CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -1624,9 +1652,19 @@ TEST_F(SpdySessionTest, MetricsCollectionOnPushStreams) {
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame priority_c(
+ spdy_util_.ConstructSpdyPriority(6, 4, IDLE, true));
+ SpdySerializedFrame rst_a(
spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
- MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
+ MockWrite writes[] = {
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
+ CreateMockWrite(priority_c, 10),
+ };
SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
@@ -1641,14 +1679,14 @@ TEST_F(SpdySessionTest, MetricsCollectionOnPushStreams) {
MockRead reads[] = {
CreateMockRead(push_a, 1),
- CreateMockRead(push_a_body, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3),
- CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6),
- CreateMockRead(push_c, 7),
- CreateMockRead(push_c_body, 8),
- MockRead(ASYNC, ERR_IO_PENDING, 9),
- MockRead(ASYNC, 0, 10) // EOF
+ CreateMockRead(push_a_body, 3),
+ MockRead(ASYNC, ERR_IO_PENDING, 4),
+ CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 8),
+ CreateMockRead(push_c, 9),
+ CreateMockRead(push_c_body, 11),
+ MockRead(ASYNC, ERR_IO_PENDING, 12),
+ MockRead(ASYNC, 0, 13) // EOF
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -4888,15 +4926,18 @@ TEST_F(SpdySessionTest, PushedStreamShouldNotCountToClientConcurrencyLimit) {
CreateMockRead(settings_frame, 0),
MockRead(ASYNC, ERR_IO_PENDING, 3),
CreateMockRead(pushed, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 5),
- MockRead(ASYNC, 0, 6),
+ MockRead(ASYNC, ERR_IO_PENDING, 6),
+ MockRead(ASYNC, 0, 7),
};
SpdySerializedFrame settings_ack(spdy_util_.ConstructSpdySettingsAck());
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
+ SpdySerializedFrame priority(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
MockWrite writes[] = {
CreateMockWrite(settings_ack, 1), CreateMockWrite(req, 2),
+ CreateMockWrite(priority, 5),
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -4968,16 +5009,21 @@ TEST_F(SpdySessionTest, RejectPushedStreamExceedingConcurrencyLimit) {
nullptr, 0, 4, 1, "https://www.example.org/b.dat"));
MockRead reads[] = {
MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_a, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9),
};
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame rst_b(
spdy_util_.ConstructSpdyRstStream(4, RST_STREAM_REFUSED_STREAM));
MockWrite writes[] = {
- CreateMockWrite(req, 0), CreateMockWrite(rst, 5),
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 3),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_b, 7),
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -5054,18 +5100,21 @@ TEST_F(SpdySessionTest, TrustedSpdyProxy) {
MockRead reads[] = {
MockRead(ASYNC, ERR_IO_PENDING, 1),
CreateMockRead(cross_origin_push, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3),
- CreateMockRead(cross_origin_https_push, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6),
- MockRead(ASYNC, 0, 7),
+ MockRead(ASYNC, ERR_IO_PENDING, 4),
+ CreateMockRead(cross_origin_https_push, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 7),
+ MockRead(ASYNC, 0, 8),
};
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_http(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame rst_https(
spdy_util_.ConstructSpdyRstStream(4, RST_STREAM_REFUSED_STREAM));
MockWrite writes[] = {
- CreateMockWrite(req, 0), CreateMockWrite(rst, 5),
+ CreateMockWrite(req, 0), CreateMockWrite(priority_http, 3),
+ CreateMockWrite(rst_https, 6),
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -5203,18 +5252,23 @@ TEST_F(SpdySessionTest, IgnoreReservedRemoteStreamsCount) {
SpdySerializedFrame headers_b(
spdy_util_.ConstructSpdyPushHeaders(4, nullptr, 0));
MockRead reads[] = {
- MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_a, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 5), CreateMockRead(headers_b, 6),
- MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9),
+ MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_a, 2),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 7), CreateMockRead(headers_b, 8),
+ MockRead(ASYNC, ERR_IO_PENDING, 10), MockRead(ASYNC, 0, 11),
};
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
- SpdySerializedFrame rst(
+ SpdySerializedFrame priority_a(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
+ SpdySerializedFrame priority_b(
+ spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
+ SpdySerializedFrame rst_b(
spdy_util_.ConstructSpdyRstStream(4, RST_STREAM_REFUSED_STREAM));
MockWrite writes[] = {
- CreateMockWrite(req, 0), CreateMockWrite(rst, 7),
+ CreateMockWrite(req, 0), CreateMockWrite(priority_a, 3),
+ CreateMockWrite(priority_b, 6), CreateMockWrite(rst_b, 9),
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -5292,16 +5346,19 @@ TEST_F(SpdySessionTest, CancelReservedStreamOnHeadersReceived) {
spdy_util_.ConstructSpdyPushHeaders(2, nullptr, 0));
MockRead reads[] = {
MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_promise, 2),
- MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(headers_frame, 4),
- MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7),
+ MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(headers_frame, 5),
+ MockRead(ASYNC, ERR_IO_PENDING, 7), MockRead(ASYNC, 0, 8),
};
SpdySerializedFrame req(
spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
+ SpdySerializedFrame priority(
+ spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
SpdySerializedFrame rst(
spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_CANCEL));
MockWrite writes[] = {
- CreateMockWrite(req, 0), CreateMockWrite(rst, 5),
+ CreateMockWrite(req, 0), CreateMockWrite(priority, 3),
+ CreateMockWrite(rst, 6),
};
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
@@ -5346,7 +5403,7 @@ TEST_F(SpdySessionTest, CancelReservedStreamOnHeadersReceived) {
EXPECT_EQ(0u, session_->num_active_pushed_streams());
base::WeakPtr<SpdyStream> pushed_stream;
- int rv = session_->GetPushStream(GURL(kPushedUrl), &pushed_stream,
+ int rv = session_->GetPushStream(GURL(kPushedUrl), IDLE, &pushed_stream,
NetLogWithSource());
ASSERT_THAT(rv, IsOk());
ASSERT_TRUE(pushed_stream);
« net/spdy/spdy_session.cc ('K') | « 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