| Index: net/quic/core/quic_spdy_stream_test.cc
|
| diff --git a/net/quic/core/quic_spdy_stream_test.cc b/net/quic/core/quic_spdy_stream_test.cc
|
| index 63aaa89671cf5ce2f698d7291a3b5e27d008bfad..e202b3c57f456d5db4f746a3515c5799d9491eab 100644
|
| --- a/net/quic/core/quic_spdy_stream_test.cc
|
| +++ b/net/quic/core/quic_spdy_stream_test.cc
|
| @@ -16,7 +16,7 @@
|
| #include "net/quic/platform/api/quic_test.h"
|
| #include "net/quic/platform/api/quic_text_utils.h"
|
| #include "net/quic/test_tools/quic_flow_controller_peer.h"
|
| -#include "net/quic/test_tools/quic_spdy_session_peer.h"
|
| +#include "net/quic/test_tools/quic_session_peer.h"
|
| #include "net/quic/test_tools/quic_stream_peer.h"
|
| #include "net/quic/test_tools/quic_test_utils.h"
|
|
|
| @@ -100,10 +100,10 @@
|
| &helper_, &alarm_factory_, Perspective::IS_SERVER,
|
| SupportedVersions(GetParam()));
|
| session_.reset(new testing::StrictMock<MockQuicSpdySession>(connection_));
|
| - stream_ = new TestStream(GetNthClientInitiatedId(0), session_.get(),
|
| + stream_ = new TestStream(kClientDataStreamId1, session_.get(),
|
| stream_should_process_data);
|
| session_->ActivateStream(QuicWrapUnique(stream_));
|
| - stream2_ = new TestStream(GetNthClientInitiatedId(1), session_.get(),
|
| + stream2_ = new TestStream(kClientDataStreamId2, session_.get(),
|
| stream_should_process_data);
|
| session_->ActivateStream(QuicWrapUnique(stream2_));
|
| }
|
| @@ -112,10 +112,6 @@
|
| QuicHeaderList h = AsHeaderList(headers);
|
| stream_->OnStreamHeaderList(fin, h.uncompressed_header_bytes(), h);
|
| return h;
|
| - }
|
| -
|
| - QuicStreamId GetNthClientInitiatedId(int n) {
|
| - return QuicSpdySessionPeer::GetNthClientInitiatedStreamId(*session_, n);
|
| }
|
|
|
| protected:
|
| @@ -252,8 +248,7 @@
|
| QuicHeaderList headers = ProcessHeaders(false, headers_);
|
| EXPECT_EQ(headers, stream_->header_list());
|
| stream_->ConsumeHeaderList();
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame);
|
| EXPECT_EQ(QuicHeaderList(), stream_->header_list());
|
| EXPECT_EQ(body, stream_->data());
|
| @@ -271,7 +266,7 @@
|
| size_t remaining_data = body.size() - offset;
|
| QuicStringPiece fragment(body.data() + offset,
|
| std::min(fragment_size, remaining_data));
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, offset,
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, offset,
|
| QuicStringPiece(fragment));
|
| stream_->OnStreamFrame(frame);
|
| }
|
| @@ -289,13 +284,13 @@
|
| stream_->ConsumeHeaderList();
|
|
|
| QuicStringPiece fragment1(body.data(), split_point);
|
| - QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
|
| + QuicStreamFrame frame1(kClientDataStreamId1, false, 0,
|
| QuicStringPiece(fragment1));
|
| stream_->OnStreamFrame(frame1);
|
|
|
| QuicStringPiece fragment2(body.data() + split_point,
|
| body.size() - split_point);
|
| - QuicStreamFrame frame2(GetNthClientInitiatedId(0), false, split_point,
|
| + QuicStreamFrame frame2(kClientDataStreamId1, false, split_point,
|
| QuicStringPiece(fragment2));
|
| stream_->OnStreamFrame(frame2);
|
|
|
| @@ -309,8 +304,7 @@
|
| string body = "this is the body";
|
|
|
| ProcessHeaders(false, headers_);
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame);
|
| stream_->ConsumeHeaderList();
|
|
|
| @@ -331,8 +325,7 @@
|
| string body = "this is the body";
|
|
|
| ProcessHeaders(false, headers_);
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame);
|
| stream_->ConsumeHeaderList();
|
|
|
| @@ -351,8 +344,7 @@
|
|
|
| string body = "this is the body";
|
| ProcessHeaders(false, headers_);
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame);
|
| stream_->ConsumeHeaderList();
|
|
|
| @@ -373,8 +365,7 @@
|
|
|
| string body = "this is the body";
|
| ProcessHeaders(false, headers_);
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame);
|
| stream_->ConsumeHeaderList();
|
|
|
| @@ -411,7 +402,7 @@
|
| const uint64_t kOverflow = 15;
|
| string body(kWindow + kOverflow, 'a');
|
|
|
| - EXPECT_CALL(*connection_, SendBlocked(GetNthClientInitiatedId(0)));
|
| + EXPECT_CALL(*connection_, SendBlocked(kClientDataStreamId1));
|
| EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
|
| .WillOnce(Return(QuicConsumedData(kWindow, true)));
|
| stream_->WriteOrBufferData(body, false, nullptr);
|
| @@ -449,8 +440,7 @@
|
| string body(kWindow / 3, 'a');
|
| ProcessHeaders(false, headers_);
|
|
|
| - QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame1(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame1);
|
| EXPECT_EQ(kWindow - (kWindow / 3), QuicFlowControllerPeer::ReceiveWindowSize(
|
| stream_->flow_controller()));
|
| @@ -458,7 +448,7 @@
|
| // Now receive another frame which results in the receive window being over
|
| // half full. This should all be buffered, decreasing the receive window but
|
| // not sending WINDOW_UPDATE.
|
| - QuicStreamFrame frame2(GetNthClientInitiatedId(0), false, kWindow / 3,
|
| + QuicStreamFrame frame2(kClientDataStreamId1, false, kWindow / 3,
|
| QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame2);
|
| EXPECT_EQ(
|
| @@ -486,8 +476,7 @@
|
| ProcessHeaders(false, headers_);
|
| stream_->ConsumeHeaderList();
|
|
|
| - QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame1(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame1);
|
| EXPECT_EQ(kWindow - (kWindow / 3), QuicFlowControllerPeer::ReceiveWindowSize(
|
| stream_->flow_controller()));
|
| @@ -496,10 +485,10 @@
|
| // half full. This will trigger the stream to increase its receive window
|
| // offset and send a WINDOW_UPDATE. The result will be again an available
|
| // window of kWindow bytes.
|
| - QuicStreamFrame frame2(GetNthClientInitiatedId(0), false, kWindow / 3,
|
| + QuicStreamFrame frame2(kClientDataStreamId1, false, kWindow / 3,
|
| QuicStringPiece(body));
|
| EXPECT_CALL(*connection_,
|
| - SendWindowUpdate(GetNthClientInitiatedId(0),
|
| + SendWindowUpdate(kClientDataStreamId1,
|
| QuicFlowControllerPeer::ReceiveWindowOffset(
|
| stream_->flow_controller()) +
|
| 2 * kWindow / 3));
|
| @@ -541,25 +530,22 @@
|
| // Each stream gets a quarter window of data. This should not trigger a
|
| // WINDOW_UPDATE for either stream, nor for the connection.
|
| string body(kWindow / 4, 'a');
|
| - QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame1(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| stream_->OnStreamFrame(frame1);
|
| - QuicStreamFrame frame2(GetNthClientInitiatedId(1), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame2(kClientDataStreamId2, false, 0, QuicStringPiece(body));
|
| stream2_->OnStreamFrame(frame2);
|
|
|
| // Now receive a further single byte on one stream - again this does not
|
| // trigger a stream WINDOW_UPDATE, but now the connection flow control window
|
| // is over half full and thus a connection WINDOW_UPDATE is sent.
|
| - EXPECT_CALL(*connection_, SendWindowUpdate(GetNthClientInitiatedId(0), _))
|
| - .Times(0);
|
| - EXPECT_CALL(*connection_, SendWindowUpdate(GetNthClientInitiatedId(1), _))
|
| - .Times(0);
|
| + EXPECT_CALL(*connection_, SendWindowUpdate(kClientDataStreamId1, _)).Times(0);
|
| + EXPECT_CALL(*connection_, SendWindowUpdate(kClientDataStreamId2, _)).Times(0);
|
| EXPECT_CALL(*connection_,
|
| - SendWindowUpdate(0, QuicFlowControllerPeer::ReceiveWindowOffset(
|
| - session_->flow_controller()) +
|
| - 1 + kWindow / 2));
|
| - QuicStreamFrame frame3(GetNthClientInitiatedId(0), false, (kWindow / 4),
|
| + SendWindowUpdate(0,
|
| + QuicFlowControllerPeer::ReceiveWindowOffset(
|
| + session_->flow_controller()) +
|
| + 1 + kWindow / 2));
|
| + QuicStreamFrame frame3(kClientDataStreamId1, false, (kWindow / 4),
|
| QuicStringPiece("a"));
|
| stream_->OnStreamFrame(frame3);
|
| }
|
| @@ -581,8 +567,7 @@
|
|
|
| // Receive data to overflow the window, violating flow control.
|
| string body(kWindow + 1, 'a');
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
| EXPECT_CALL(*connection_,
|
| CloseConnection(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, _, _));
|
| stream_->OnStreamFrame(frame);
|
| @@ -620,8 +605,7 @@
|
| // Send enough data to overflow the connection level flow control window.
|
| string body(kConnectionWindow + 1, 'a');
|
| EXPECT_LT(body.size(), kStreamWindow);
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
|
| - QuicStringPiece(body));
|
| + QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
|
|
|
| EXPECT_CALL(*connection_,
|
| CloseConnection(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, _, _));
|
| @@ -643,7 +627,7 @@
|
| string body = "";
|
| bool fin = true;
|
|
|
| - EXPECT_CALL(*connection_, SendBlocked(GetNthClientInitiatedId(0))).Times(0);
|
| + EXPECT_CALL(*connection_, SendBlocked(kClientDataStreamId1)).Times(0);
|
| EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
|
| .WillOnce(Return(QuicConsumedData(0, fin)));
|
|
|
| @@ -725,7 +709,7 @@
|
|
|
| EXPECT_FALSE(stream_->IsDoneReading());
|
| // Receive and consume body.
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), /*fin=*/false, 0, body);
|
| + QuicStreamFrame frame(kClientDataStreamId1, /*fin=*/false, 0, body);
|
| stream_->OnStreamFrame(frame);
|
| EXPECT_EQ(body, stream_->data());
|
| EXPECT_TRUE(stream_->IsDoneReading());
|
| @@ -806,7 +790,7 @@
|
| stream_->ConsumeHeaderList();
|
|
|
| // Receive body data, with FIN.
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), /*fin=*/true, 0, "body");
|
| + QuicStreamFrame frame(kClientDataStreamId1, /*fin=*/true, 0, "body");
|
| stream_->OnStreamFrame(frame);
|
|
|
| // Receive trailing headers after FIN already received.
|
| @@ -830,7 +814,7 @@
|
|
|
| // Receive and consume body with FIN set, and no trailers.
|
| const string kBody = string(1024, 'x');
|
| - QuicStreamFrame frame(GetNthClientInitiatedId(0), /*fin=*/true, 0, kBody);
|
| + QuicStreamFrame frame(kClientDataStreamId1, /*fin=*/true, 0, kBody);
|
| stream_->OnStreamFrame(frame);
|
|
|
| EXPECT_TRUE(stream_->IsDoneReading());
|
|
|