Index: net/tools/quic/quic_simple_server_session_test.cc |
diff --git a/net/tools/quic/quic_simple_server_session_test.cc b/net/tools/quic/quic_simple_server_session_test.cc |
index 85e80ad30b54ef675b1b257f89c42c020fa9e80f..d5af4c6351cd846ad39fc67001c91f7da820ab24 100644 |
--- a/net/tools/quic/quic_simple_server_session_test.cc |
+++ b/net/tools/quic/quic_simple_server_session_test.cc |
@@ -56,18 +56,13 @@ |
static QuicSpdyStream* CreateIncomingDynamicStream(QuicSimpleServerSession* s, |
QuicStreamId id) { |
- return FLAGS_quic_reloadable_flag_quic_refactor_stream_creation |
- ? s->MaybeCreateIncomingDynamicStream(id) |
- : s->CreateIncomingDynamicStream(id); |
+ return s->CreateIncomingDynamicStream(id); |
} |
static QuicSimpleServerStream* CreateOutgoingDynamicStream( |
QuicSimpleServerSession* s, |
SpdyPriority priority) { |
- return FLAGS_quic_reloadable_flag_quic_refactor_stream_creation |
- ? static_cast<QuicSimpleServerStream*>( |
- s->MaybeCreateOutgoingDynamicStream(priority)) |
- : s->CreateOutgoingDynamicStream(priority); |
+ return s->CreateOutgoingDynamicStream(priority); |
} |
static std::deque<PromisedStreamInfo>* promised_streams( |
@@ -212,14 +207,6 @@ |
session_->OnConfigNegotiated(); |
} |
- QuicStreamId GetNthClientInitiatedId(int n) { |
- return QuicSpdySessionPeer::GetNthClientInitiatedStreamId(*session_, n); |
- } |
- |
- QuicStreamId GetNthServerInitiatedId(int n) { |
- return QuicSpdySessionPeer::GetNthServerInitiatedStreamId(*session_, n); |
- } |
- |
StrictMock<MockQuicSessionVisitor> owner_; |
StrictMock<MockQuicCryptoServerStreamHelper> stream_helper_; |
MockQuicConnectionHelper helper_; |
@@ -241,17 +228,16 @@ |
TEST_P(QuicSimpleServerSessionTest, CloseStreamDueToReset) { |
// Open a stream, then reset it. |
// Send two bytes of payload to open it. |
- QuicStreamFrame data1(GetNthClientInitiatedId(0), false, 0, |
- QuicStringPiece("HT")); |
+ QuicStreamFrame data1(kClientDataStreamId1, false, 0, QuicStringPiece("HT")); |
session_->OnStreamFrame(data1); |
EXPECT_EQ(1u, session_->GetNumOpenIncomingStreams()); |
// Receive a reset (and send a RST in response). |
- QuicRstStreamFrame rst1(GetNthClientInitiatedId(0), |
- QUIC_ERROR_PROCESSING_STREAM, 0); |
+ QuicRstStreamFrame rst1(kClientDataStreamId1, QUIC_ERROR_PROCESSING_STREAM, |
+ 0); |
EXPECT_CALL(owner_, OnRstStreamReceived(_)).Times(1); |
- EXPECT_CALL(*connection_, SendRstStream(GetNthClientInitiatedId(0), |
- QUIC_RST_ACKNOWLEDGEMENT, 0)); |
+ EXPECT_CALL(*connection_, |
+ SendRstStream(kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT, 0)); |
visitor_->OnRstStream(rst1); |
EXPECT_EQ(0u, session_->GetNumOpenIncomingStreams()); |
@@ -265,17 +251,16 @@ |
TEST_P(QuicSimpleServerSessionTest, NeverOpenStreamDueToReset) { |
// Send a reset (and expect the peer to send a RST in response). |
- QuicRstStreamFrame rst1(GetNthClientInitiatedId(0), |
- QUIC_ERROR_PROCESSING_STREAM, 0); |
+ QuicRstStreamFrame rst1(kClientDataStreamId1, QUIC_ERROR_PROCESSING_STREAM, |
+ 0); |
EXPECT_CALL(owner_, OnRstStreamReceived(_)).Times(1); |
- EXPECT_CALL(*connection_, SendRstStream(GetNthClientInitiatedId(0), |
- QUIC_RST_ACKNOWLEDGEMENT, 0)); |
+ EXPECT_CALL(*connection_, |
+ SendRstStream(kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT, 0)); |
visitor_->OnRstStream(rst1); |
EXPECT_EQ(0u, session_->GetNumOpenIncomingStreams()); |
// Send two bytes of payload. |
- QuicStreamFrame data1(GetNthClientInitiatedId(0), false, 0, |
- QuicStringPiece("HT")); |
+ QuicStreamFrame data1(kClientDataStreamId1, false, 0, QuicStringPiece("HT")); |
visitor_->OnStreamFrame(data1); |
// The stream should never be opened, now that the reset is received. |
@@ -285,29 +270,26 @@ |
TEST_P(QuicSimpleServerSessionTest, AcceptClosedStream) { |
// Send (empty) compressed headers followed by two bytes of data. |
- QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0, |
+ QuicStreamFrame frame1(kClientDataStreamId1, false, 0, |
QuicStringPiece("\1\0\0\0\0\0\0\0HT")); |
- QuicStreamFrame frame2(GetNthClientInitiatedId(1), false, 0, |
+ QuicStreamFrame frame2(kClientDataStreamId2, false, 0, |
QuicStringPiece("\2\0\0\0\0\0\0\0HT")); |
visitor_->OnStreamFrame(frame1); |
visitor_->OnStreamFrame(frame2); |
EXPECT_EQ(2u, session_->GetNumOpenIncomingStreams()); |
// Send a reset (and expect the peer to send a RST in response). |
- QuicRstStreamFrame rst(GetNthClientInitiatedId(0), |
- QUIC_ERROR_PROCESSING_STREAM, 0); |
+ QuicRstStreamFrame rst(kClientDataStreamId1, QUIC_ERROR_PROCESSING_STREAM, 0); |
EXPECT_CALL(owner_, OnRstStreamReceived(_)).Times(1); |
- EXPECT_CALL(*connection_, SendRstStream(GetNthClientInitiatedId(0), |
- QUIC_RST_ACKNOWLEDGEMENT, 0)); |
+ EXPECT_CALL(*connection_, |
+ SendRstStream(kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT, 0)); |
visitor_->OnRstStream(rst); |
// If we were tracking, we'd probably want to reject this because it's data |
// past the reset point of stream 3. As it's a closed stream we just drop the |
// data on the floor, but accept the packet because it has data for stream 5. |
- QuicStreamFrame frame3(GetNthClientInitiatedId(0), false, 2, |
- QuicStringPiece("TP")); |
- QuicStreamFrame frame4(GetNthClientInitiatedId(1), false, 2, |
- QuicStringPiece("TP")); |
+ QuicStreamFrame frame3(kClientDataStreamId1, false, 2, QuicStringPiece("TP")); |
+ QuicStreamFrame frame4(kClientDataStreamId2, false, 2, QuicStringPiece("TP")); |
visitor_->OnStreamFrame(frame3); |
visitor_->OnStreamFrame(frame4); |
// The stream should never be opened, now that the reset is received. |
@@ -319,24 +301,13 @@ |
// Tests that incoming stream creation fails when connection is not connected. |
size_t initial_num_open_stream = session_->GetNumOpenIncomingStreams(); |
QuicConnectionPeer::TearDownLocalConnectionState(connection_); |
- if (FLAGS_quic_reloadable_flag_quic_refactor_stream_creation) { |
- EXPECT_EQ(nullptr, QuicSimpleServerSessionPeer::CreateIncomingDynamicStream( |
- session_.get(), GetNthClientInitiatedId(0))); |
- } else { |
- EXPECT_QUIC_BUG(QuicSimpleServerSessionPeer::CreateIncomingDynamicStream( |
- session_.get(), GetNthClientInitiatedId(0)), |
- "ShouldCreateIncomingDynamicStream called when " |
- "disconnected"); |
- } |
+ EXPECT_QUIC_BUG(QuicSimpleServerSessionPeer::CreateIncomingDynamicStream( |
+ session_.get(), kClientDataStreamId1), |
+ "ShouldCreateIncomingDynamicStream called when disconnected"); |
EXPECT_EQ(initial_num_open_stream, session_->GetNumOpenIncomingStreams()); |
} |
TEST_P(QuicSimpleServerSessionTest, CreateEvenIncomingDynamicStream) { |
- if (FLAGS_quic_reloadable_flag_quic_refactor_stream_creation) { |
- EXPECT_EQ(nullptr, QuicSimpleServerSessionPeer::CreateIncomingDynamicStream( |
- session_.get(), 2)); |
- return; |
- } |
// Tests that incoming stream creation fails when given stream id is even. |
size_t initial_num_open_stream = session_->GetNumOpenIncomingStreams(); |
EXPECT_CALL(*connection_, |
@@ -349,24 +320,18 @@ |
TEST_P(QuicSimpleServerSessionTest, CreateIncomingDynamicStream) { |
QuicSpdyStream* stream = |
QuicSimpleServerSessionPeer::CreateIncomingDynamicStream( |
- session_.get(), GetNthClientInitiatedId(0)); |
+ session_.get(), kClientDataStreamId1); |
EXPECT_NE(nullptr, stream); |
- EXPECT_EQ(GetNthClientInitiatedId(0), stream->id()); |
+ EXPECT_EQ(kClientDataStreamId1, stream->id()); |
} |
TEST_P(QuicSimpleServerSessionTest, CreateOutgoingDynamicStreamDisconnected) { |
// Tests that outgoing stream creation fails when connection is not connected. |
size_t initial_num_open_stream = session_->GetNumOpenOutgoingStreams(); |
QuicConnectionPeer::TearDownLocalConnectionState(connection_); |
- if (FLAGS_quic_reloadable_flag_quic_refactor_stream_creation) { |
- EXPECT_EQ(nullptr, QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
- session_.get(), kDefaultPriority)); |
- } else { |
- EXPECT_QUIC_BUG(QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
- session_.get(), kDefaultPriority), |
- "ShouldCreateOutgoingDynamicStream called when " |
- "disconnected"); |
- } |
+ EXPECT_QUIC_BUG(QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
+ session_.get(), kDefaultPriority), |
+ "ShouldCreateOutgoingDynamicStream called when disconnected"); |
EXPECT_EQ(initial_num_open_stream, session_->GetNumOpenOutgoingStreams()); |
} |
@@ -375,15 +340,9 @@ |
// Tests that outgoing stream creation fails when encryption has not yet been |
// established. |
size_t initial_num_open_stream = session_->GetNumOpenOutgoingStreams(); |
- if (FLAGS_quic_reloadable_flag_quic_refactor_stream_creation) { |
- EXPECT_EQ(nullptr, QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
- session_.get(), kDefaultPriority)); |
- } else { |
- EXPECT_QUIC_BUG(QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
- session_.get(), kDefaultPriority), |
- "Encryption not established so no outgoing stream " |
- "created."); |
- } |
+ EXPECT_QUIC_BUG(QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
+ session_.get(), kDefaultPriority), |
+ "Encryption not established so no outgoing stream created."); |
EXPECT_EQ(initial_num_open_stream, session_->GetNumOpenOutgoingStreams()); |
} |
@@ -394,8 +353,7 @@ |
// Receive some data to initiate a incoming stream which should not effect |
// creating outgoing streams. |
- QuicStreamFrame data1(GetNthClientInitiatedId(0), false, 0, |
- QuicStringPiece("HT")); |
+ QuicStreamFrame data1(kClientDataStreamId1, false, 0, QuicStringPiece("HT")); |
session_->OnStreamFrame(data1); |
EXPECT_EQ(1u, session_->GetNumOpenIncomingStreams()); |
EXPECT_EQ(0u, session_->GetNumOpenOutgoingStreams()); |
@@ -412,7 +370,7 @@ |
QuicSpdyStream* created_stream = |
QuicSimpleServerSessionPeer::CreateOutgoingDynamicStream( |
session_.get(), kDefaultPriority); |
- EXPECT_EQ(GetNthServerInitiatedId(i), created_stream->id()); |
+ EXPECT_EQ(2 * (i + 1), created_stream->id()); |
EXPECT_EQ(i + 1, session_->GetNumOpenOutgoingStreams()); |
} |
@@ -422,8 +380,7 @@ |
EXPECT_EQ(kMaxStreamsForTest, session_->GetNumOpenOutgoingStreams()); |
// Create peer initiated stream should have no problem. |
- QuicStreamFrame data2(GetNthClientInitiatedId(1), false, 0, |
- QuicStringPiece("HT")); |
+ QuicStreamFrame data2(kClientDataStreamId2, false, 0, QuicStringPiece("HT")); |
session_->OnStreamFrame(data2); |
EXPECT_EQ(2u, session_->GetNumOpenIncomingStreams()); |
} |
@@ -513,7 +470,7 @@ |
std::list<QuicHttpResponseCache::ServerPushInfo> push_resources; |
string scheme = "http"; |
for (unsigned int i = 1; i <= num_resources; ++i) { |
- QuicStreamId stream_id = GetNthServerInitiatedId(i - 1); |
+ QuicStreamId stream_id = i * 2; |
string path = |
partial_push_resource_path + QuicTextUtils::Uint64ToString(i); |
string url = scheme + "://" + resource_host + path; |
@@ -523,8 +480,8 @@ |
push_resources.push_back(QuicHttpResponseCache::ServerPushInfo( |
resource_url, SpdyHeaderBlock(), kDefaultPriority, body)); |
// PUSH_PROMISED are sent for all the resources. |
- EXPECT_CALL(*session_, WritePushPromiseMock(GetNthClientInitiatedId(0), |
- stream_id, _)); |
+ EXPECT_CALL(*session_, |
+ WritePushPromiseMock(kClientDataStreamId1, stream_id, _)); |
if (i <= kMaxStreamsForTest) { |
// |kMaxStreamsForTest| promised responses should be sent. |
EXPECT_CALL(*session_, |
@@ -552,7 +509,7 @@ |
} |
} |
session_->PromisePushResources(request_url, push_resources, |
- GetNthClientInitiatedId(0), request_headers); |
+ kClientDataStreamId1, request_headers); |
} |
}; |
@@ -583,8 +540,7 @@ |
// draining, a queued promised stream will become open and send push response. |
size_t num_resources = kMaxStreamsForTest + 1; |
PromisePushResources(num_resources); |
- QuicStreamId next_out_going_stream_id = |
- GetNthServerInitiatedId(kMaxStreamsForTest); |
+ QuicStreamId next_out_going_stream_id = num_resources * 2; |
// After an open stream is marked draining, a new stream is expected to be |
// created and a response sent on the stream. |
@@ -614,8 +570,7 @@ |
PromisePushResources(num_resources); |
// Reset the last stream in the queue. It should be marked cancelled. |
- QuicStreamId stream_got_reset = |
- GetNthServerInitiatedId(kMaxStreamsForTest + 1); |
+ QuicStreamId stream_got_reset = num_resources * 2; |
QuicRstStreamFrame rst(stream_got_reset, QUIC_STREAM_CANCELLED, 0); |
EXPECT_CALL(owner_, OnRstStreamReceived(_)).Times(1); |
EXPECT_CALL(*connection_, |
@@ -625,7 +580,7 @@ |
// When the first 2 streams becomes draining, the two queued up stream could |
// be created. But since one of them was marked cancelled due to RST frame, |
// only one queued resource will be sent out. |
- QuicStreamId stream_not_reset = GetNthServerInitiatedId(kMaxStreamsForTest); |
+ QuicStreamId stream_not_reset = (kMaxStreamsForTest + 1) * 2; |
InSequence s; |
EXPECT_CALL(*session_, WriteHeadersMock(stream_not_reset, _, false, |
kDefaultPriority, _)); |
@@ -636,8 +591,8 @@ |
WriteHeadersMock(stream_got_reset, _, false, kDefaultPriority, _)) |
.Times(0); |
- session_->StreamDraining(GetNthServerInitiatedId(0)); |
- session_->StreamDraining(GetNthServerInitiatedId(1)); |
+ session_->StreamDraining(2); |
+ session_->StreamDraining(4); |
} |
TEST_P(QuicSimpleServerSessionServerPushTest, |
@@ -649,11 +604,11 @@ |
// in the queue to be send out. |
size_t num_resources = kMaxStreamsForTest + 1; |
PromisePushResources(num_resources); |
- QuicStreamId stream_to_open = GetNthServerInitiatedId(kMaxStreamsForTest); |
+ QuicStreamId stream_to_open = num_resources * 2; |
// Resetting 1st open stream will close the stream and give space for extra |
// stream to be opened. |
- QuicStreamId stream_got_reset = GetNthServerInitiatedId(0); |
+ QuicStreamId stream_got_reset = 2; |
EXPECT_CALL(*connection_, |
SendRstStream(stream_got_reset, QUIC_RST_ACKNOWLEDGEMENT, _)); |
EXPECT_CALL(*session_, |