Merge GetOrCreateDynamicStream() into GetOrCreateStream().
GetOrCreateDynamicStream() no longer guarantees that the returned stream is non-static. And since we have a single stream map for all streams, we can just have one method.
gfe-relnote: Protected by quic_inline_getorcreatedynamicstream.
PiperOrigin-RevId: 258426677
Change-Id: I89ac704a44da79afce3c1704efd5d721c9585f32
diff --git a/quic/core/http/quic_server_session_base_test.cc b/quic/core/http/quic_server_session_base_test.cc
index b521046..0041c85 100644
--- a/quic/core/http/quic_server_session_base_test.cc
+++ b/quic/core/http/quic_server_session_base_test.cc
@@ -361,8 +361,8 @@
QuicStreamId stream_id = GetNthClientInitiatedBidirectionalId(0);
// Open the max configured number of streams, should be no problem.
for (size_t i = 0; i < kMaxStreamsForTest; ++i) {
- EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
- session_.get(), stream_id));
+ EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateStream(session_.get(),
+ stream_id));
stream_id += QuicUtils::StreamIdDelta(connection_->transport_version());
}
@@ -370,8 +370,8 @@
// Open more streams: server should accept slightly more than the limit.
// Excess streams are for non-version-99 only.
for (size_t i = 0; i < kMaxStreamsMinimumIncrement; ++i) {
- EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
- session_.get(), stream_id));
+ EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateStream(session_.get(),
+ stream_id));
stream_id += QuicUtils::StreamIdDelta(connection_->transport_version());
}
}
@@ -390,8 +390,8 @@
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(1);
}
// Even if the connection remains open, the stream creation should fail.
- EXPECT_FALSE(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
- session_.get(), stream_id));
+ EXPECT_FALSE(
+ QuicServerSessionBasePeer::GetOrCreateStream(session_.get(), stream_id));
}
TEST_P(QuicServerSessionBaseTest, MaxAvailableBidirectionalStreams) {
@@ -404,7 +404,7 @@
session_->MaxAvailableBidirectionalStreams();
EXPECT_EQ(0u, session_->GetNumOpenIncomingStreams());
- EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
+ EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateStream(
session_.get(), GetNthClientInitiatedBidirectionalId(0)));
// Establish available streams up to the server's limit.
@@ -416,7 +416,7 @@
// This exceeds the stream limit. In versions other than 99
// this is allowed. Version 99 hews to the IETF spec and does
// not allow it.
- EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
+ EXPECT_TRUE(QuicServerSessionBasePeer::GetOrCreateStream(
session_.get(), kLimitingStreamId));
// A further available stream will result in connection close.
EXPECT_CALL(*connection_,
@@ -428,14 +428,14 @@
// This forces stream kLimitingStreamId + 2 to become available, which
// violates the quota.
- EXPECT_FALSE(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
+ EXPECT_FALSE(QuicServerSessionBasePeer::GetOrCreateStream(
session_.get(), kLimitingStreamId + 2 * next_id));
}
TEST_P(QuicServerSessionBaseTest, GetEvenIncomingError) {
// Incoming streams on the server session must be odd.
EXPECT_CALL(*connection_, CloseConnection(QUIC_INVALID_STREAM_ID, _, _));
- EXPECT_EQ(nullptr, QuicServerSessionBasePeer::GetOrCreateDynamicStream(
+ EXPECT_EQ(nullptr, QuicServerSessionBasePeer::GetOrCreateStream(
session_.get(),
session_->next_outgoing_unidirectional_stream_id()));
}
@@ -448,7 +448,7 @@
// Don't create new streams if the connection is disconnected.
QuicConnectionPeer::TearDownLocalConnectionState(connection_);
- EXPECT_QUIC_BUG(QuicServerSessionBasePeer::GetOrCreateDynamicStream(
+ EXPECT_QUIC_BUG(QuicServerSessionBasePeer::GetOrCreateStream(
session_.get(), GetNthClientInitiatedBidirectionalId(0)),
"ShouldCreateIncomingStream called when disconnected");
}
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 367a99b..4a8dad7 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -559,7 +559,14 @@
QuicSpdyStream* QuicSpdySession::GetSpdyDataStream(
const QuicStreamId stream_id) {
- QuicStream* stream = GetOrCreateDynamicStream(stream_id);
+ QuicStream* stream = nullptr;
+ if (GetQuicReloadableFlag(quic_inline_getorcreatedynamicstream) &&
+ GetQuicReloadableFlag(quic_handle_staticness_for_spdy_stream)) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_inline_getorcreatedynamicstream);
+ stream = GetOrCreateStream(stream_id);
+ } else {
+ stream = GetOrCreateDynamicStream(stream_id);
+ }
if (GetQuicReloadableFlag(quic_handle_staticness_for_spdy_stream) && stream &&
stream->is_static()) {
QUIC_RELOADABLE_FLAG_COUNT(quic_handle_staticness_for_spdy_stream);
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index d76b846..36fd20c 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -212,8 +212,8 @@
return QuicSession::IsClosedStream(id);
}
- QuicStream* GetOrCreateDynamicStream(QuicStreamId stream_id) {
- return QuicSpdySession::GetOrCreateDynamicStream(stream_id);
+ QuicStream* GetOrCreateStream(QuicStreamId stream_id) {
+ return QuicSpdySession::GetOrCreateStream(stream_id);
}
QuicConsumedData WritevData(QuicStream* stream,
@@ -426,16 +426,16 @@
}
TEST_P(QuicSpdySessionTestServer, AvailableStreams) {
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(2)) != nullptr);
// Both client initiated streams with smaller stream IDs are available.
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthClientInitiatedBidirectionalId(0)));
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthClientInitiatedBidirectionalId(1)));
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(1)) != nullptr);
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(0)) != nullptr);
}
@@ -455,15 +455,15 @@
TEST_P(QuicSpdySessionTestServer, IsClosedStreamPeerCreated) {
QuicStreamId stream_id1 = GetNthClientInitiatedBidirectionalId(0);
QuicStreamId stream_id2 = GetNthClientInitiatedBidirectionalId(1);
- session_.GetOrCreateDynamicStream(stream_id1);
- session_.GetOrCreateDynamicStream(stream_id2);
+ session_.GetOrCreateStream(stream_id1);
+ session_.GetOrCreateStream(stream_id2);
CheckClosedStreams();
CloseStream(stream_id1);
CheckClosedStreams();
CloseStream(stream_id2);
// Create a stream, and make another available.
- QuicStream* stream3 = session_.GetOrCreateDynamicStream(stream_id2 + 4);
+ QuicStream* stream3 = session_.GetOrCreateStream(stream_id2 + 4);
CheckClosedStreams();
// Close one, but make sure the other is still not closed
CloseStream(stream3->id());
@@ -484,13 +484,13 @@
headers_stream_offset,
Perspective::IS_CLIENT, // Client initates stream, allocs stream id.
/*bidirectional=*/true);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id));
stream_id = StreamCountToId(
QuicSessionPeer::v99_streamid_manager(&session_)
->actual_max_allowed_incoming_unidirectional_streams(),
Perspective::IS_CLIENT,
/*bidirectional=*/false);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id));
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(2);
// Get the (max allowed stream ID)++. These should all fail.
stream_id = StreamCountToId(
@@ -499,7 +499,7 @@
1 - headers_stream_offset,
Perspective::IS_CLIENT,
/*bidirectional=*/true);
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(stream_id));
stream_id = StreamCountToId(
QuicSessionPeer::v99_streamid_manager(&session_)
@@ -507,14 +507,14 @@
1,
Perspective::IS_CLIENT,
/*bidirectional=*/false);
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(stream_id));
} else {
QuicStreamId stream_id = GetNthClientInitiatedBidirectionalId(0);
- session_.GetOrCreateDynamicStream(stream_id);
+ session_.GetOrCreateStream(stream_id);
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0);
EXPECT_NE(
nullptr,
- session_.GetOrCreateDynamicStream(
+ session_.GetOrCreateStream(
stream_id +
IdDelta() *
(session_.max_open_incoming_bidirectional_streams() - 1)));
@@ -524,7 +524,7 @@
TEST_P(QuicSpdySessionTestServer, TooManyAvailableStreams) {
QuicStreamId stream_id1 = GetNthClientInitiatedBidirectionalId(0);
QuicStreamId stream_id2;
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id1));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id1));
// A stream ID which is too large to create.
stream_id2 = GetNthClientInitiatedBidirectionalId(
2 * session_.MaxAvailableBidirectionalStreams() + 4);
@@ -534,7 +534,7 @@
EXPECT_CALL(*connection_,
CloseConnection(QUIC_TOO_MANY_AVAILABLE_STREAMS, _, _));
}
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(stream_id2));
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(stream_id2));
}
TEST_P(QuicSpdySessionTestServer, ManyAvailableStreams) {
@@ -547,12 +547,12 @@
}
QuicStreamId stream_id = GetNthClientInitiatedBidirectionalId(0);
// Create one stream.
- session_.GetOrCreateDynamicStream(stream_id);
+ session_.GetOrCreateStream(stream_id);
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0);
// Stream count is 200, GetNth... starts counting at 0, so the 200'th stream
// is 199. BUT actually we need to do 198 because the crypto stream (Stream
// ID 0) has not been registered, but GetNth... assumes that it has.
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(198)));
}
@@ -964,7 +964,7 @@
EXPECT_CALL(*connection_,
OnStreamReset(kTestStreamId, QUIC_STREAM_PEER_GOING_AWAY))
.Times(0);
- EXPECT_TRUE(session_.GetOrCreateDynamicStream(kTestStreamId));
+ EXPECT_TRUE(session_.GetOrCreateStream(kTestStreamId));
}
TEST_P(QuicSpdySessionTestServer, DoNotSendGoAwayTwice) {
@@ -1662,16 +1662,16 @@
}
TEST_P(QuicSpdySessionTestClient, AvailableStreamsClient) {
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedBidirectionalId(2)) != nullptr);
// Both server initiated streams with smaller stream IDs should be available.
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthServerInitiatedBidirectionalId(0)));
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthServerInitiatedBidirectionalId(1)));
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedBidirectionalId(0)) != nullptr);
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedBidirectionalId(1)) != nullptr);
// And client initiated stream ID should be not available.
EXPECT_FALSE(QuicSessionPeer::IsStreamAvailable(
@@ -1789,7 +1789,7 @@
QuicStreamFrame data1(stream_id1, false, 0, QuicStringPiece(data));
session_.OnStreamFrame(data1);
EXPECT_EQ(1u, session_.GetNumOpenIncomingStreams());
- QuicStream* stream = session_.GetOrCreateDynamicStream(stream_id1);
+ QuicStream* stream = session_.GetOrCreateStream(stream_id1);
EXPECT_EQ(1u, stream->flow_controller()->bytes_consumed());
EXPECT_EQ(1u, session_.flow_controller()->bytes_consumed());
@@ -1800,7 +1800,7 @@
QuicStreamFrame data2(stream_id2, false, 0, QuicStringPiece(data));
session_.OnStreamFrame(data2);
EXPECT_EQ(2u, session_.GetNumOpenIncomingStreams());
- stream = session_.GetOrCreateDynamicStream(stream_id2);
+ stream = session_.GetOrCreateStream(stream_id2);
EXPECT_EQ(4u, stream->flow_controller()->bytes_consumed());
EXPECT_EQ(5u, session_.flow_controller()->bytes_consumed());
}
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 750f256..b2d0bce 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1071,7 +1071,7 @@
void QuicSession::HandleRstOnValidNonexistentStream(
const QuicRstStreamFrame& frame) {
// If the stream is neither originally in active streams nor created in
- // GetOrCreateDynamicStream(), it could be a closed stream in which case its
+ // GetOrCreateStream(), it could be a closed stream in which case its
// final received byte offset need to be updated.
if (IsClosedStream(frame.stream_id)) {
// The RST frame contains the final byte offset for the stream: we can now
@@ -1224,7 +1224,42 @@
stream_id)) {
return GetMutableCryptoStream();
}
- return GetOrCreateDynamicStream(stream_id);
+
+ StreamMap::iterator it = stream_map_.find(stream_id);
+ if (it != stream_map_.end()) {
+ return it->second.get();
+ }
+
+ if (IsClosedStream(stream_id)) {
+ return nullptr;
+ }
+
+ if (!IsIncomingStream(stream_id)) {
+ HandleFrameOnNonexistentOutgoingStream(stream_id);
+ return nullptr;
+ }
+
+ // TODO(fkastenholz): If we are creating a new stream and we have
+ // sent a goaway, we should ignore the stream creation. Need to
+ // add code to A) test if goaway was sent ("if (goaway_sent_)") and
+ // B) reject stream creation ("return nullptr")
+
+ if (!MaybeIncreaseLargestPeerStreamId(stream_id)) {
+ return nullptr;
+ }
+
+ if (!VersionHasIetfQuicFrames(connection_->transport_version())) {
+ // TODO(fayang): Let LegacyQuicStreamIdManager count open streams and make
+ // CanOpenIncomingStream interface consistent with that of v99.
+ if (!stream_id_manager_.CanOpenIncomingStream(
+ GetNumOpenIncomingStreams())) {
+ // Refuse to open the stream.
+ SendRstStream(stream_id, QUIC_REFUSED_STREAM, 0);
+ return nullptr;
+ }
+ }
+
+ return CreateIncomingStream(stream_id);
}
void QuicSession::StreamDraining(QuicStreamId stream_id) {
@@ -1278,6 +1313,7 @@
QuicStream* QuicSession::GetOrCreateDynamicStream(
const QuicStreamId stream_id) {
+ DCHECK(!GetQuicReloadableFlag(quic_inline_getorcreatedynamicstream));
StreamMap::iterator it = stream_map_.find(stream_id);
if (it != stream_map_.end()) {
return it->second.get();
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index 5ef497d..24060e8 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -370,6 +370,7 @@
// such stream exists, and |stream_id| is a peer-created stream id,
// then a new stream is created and returned. In all other cases, nullptr is
// returned.
+ // Caller does not own the returned stream.
QuicStream* GetOrCreateStream(const QuicStreamId stream_id);
// Mark a stream as draining.
@@ -475,6 +476,8 @@
// returned. However if |stream_id| is a locally-created id and no such stream
// exists, the connection is closed.
// Caller does not own the returned stream.
+ // TODO(renjietang): Remove this method after
+ // quic_inline_getorcreatedynamicstream is deprecated.
QuicStream* GetOrCreateDynamicStream(QuicStreamId stream_id);
// Performs the work required to close |stream_id|. If |locally_reset|
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index 0f8420d..49316dd 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -187,7 +187,7 @@
max_open_incoming_bidirectional_streams() &&
!VersionHasIetfQuicFrames(connection()->transport_version())) {
// No need to do this test for version 99; it's done by
- // QuicSession::GetOrCreateDynamicStream.
+ // QuicSession::GetOrCreateStream.
connection()->CloseConnection(
QUIC_TOO_MANY_OPEN_STREAMS, "Too many streams!",
ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
@@ -232,8 +232,8 @@
return QuicSession::IsClosedStream(id);
}
- QuicStream* GetOrCreateDynamicStream(QuicStreamId stream_id) {
- return QuicSession::GetOrCreateDynamicStream(stream_id);
+ QuicStream* GetOrCreateStream(QuicStreamId stream_id) {
+ return QuicSession::GetOrCreateStream(stream_id);
}
bool ShouldKeepConnectionAlive() const override {
@@ -531,30 +531,30 @@
}
TEST_P(QuicSessionTestServer, AvailableBidirectionalStreams) {
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(3)) != nullptr);
// Smaller bidirectional streams should be available.
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthClientInitiatedBidirectionalId(1)));
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthClientInitiatedBidirectionalId(2)));
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(2)) != nullptr);
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(1)) != nullptr);
}
TEST_P(QuicSessionTestServer, AvailableUnidirectionalStreams) {
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedUnidirectionalId(3)) != nullptr);
// Smaller unidirectional streams should be available.
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthClientInitiatedUnidirectionalId(1)));
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthClientInitiatedUnidirectionalId(2)));
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedUnidirectionalId(2)) != nullptr);
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthClientInitiatedUnidirectionalId(1)) != nullptr);
}
@@ -613,15 +613,15 @@
TEST_P(QuicSessionTestServer, IsClosedBidirectionalStreamPeerCreated) {
QuicStreamId stream_id1 = GetNthClientInitiatedBidirectionalId(0);
QuicStreamId stream_id2 = GetNthClientInitiatedBidirectionalId(1);
- session_.GetOrCreateDynamicStream(stream_id1);
- session_.GetOrCreateDynamicStream(stream_id2);
+ session_.GetOrCreateStream(stream_id1);
+ session_.GetOrCreateStream(stream_id2);
CheckClosedStreams();
CloseStream(stream_id1);
CheckClosedStreams();
CloseStream(stream_id2);
// Create a stream, and make another available.
- QuicStream* stream3 = session_.GetOrCreateDynamicStream(
+ QuicStream* stream3 = session_.GetOrCreateStream(
stream_id2 +
2 * QuicUtils::StreamIdDelta(connection_->transport_version()));
CheckClosedStreams();
@@ -633,15 +633,15 @@
TEST_P(QuicSessionTestServer, IsClosedUnidirectionalStreamPeerCreated) {
QuicStreamId stream_id1 = GetNthClientInitiatedUnidirectionalId(0);
QuicStreamId stream_id2 = GetNthClientInitiatedUnidirectionalId(1);
- session_.GetOrCreateDynamicStream(stream_id1);
- session_.GetOrCreateDynamicStream(stream_id2);
+ session_.GetOrCreateStream(stream_id1);
+ session_.GetOrCreateStream(stream_id2);
CheckClosedStreams();
CloseStream(stream_id1);
CheckClosedStreams();
CloseStream(stream_id2);
// Create a stream, and make another available.
- QuicStream* stream3 = session_.GetOrCreateDynamicStream(
+ QuicStream* stream3 = session_.GetOrCreateStream(
stream_id2 +
2 * QuicUtils::StreamIdDelta(connection_->transport_version()));
CheckClosedStreams();
@@ -652,28 +652,26 @@
TEST_P(QuicSessionTestServer, MaximumAvailableOpenedBidirectionalStreams) {
QuicStreamId stream_id = GetNthClientInitiatedBidirectionalId(0);
- session_.GetOrCreateDynamicStream(stream_id);
+ session_.GetOrCreateStream(stream_id);
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0);
- EXPECT_NE(
- nullptr,
- session_.GetOrCreateDynamicStream(GetNthClientInitiatedBidirectionalId(
- session_.max_open_incoming_bidirectional_streams() - 1)));
+ EXPECT_NE(nullptr,
+ session_.GetOrCreateStream(GetNthClientInitiatedBidirectionalId(
+ session_.max_open_incoming_bidirectional_streams() - 1)));
}
TEST_P(QuicSessionTestServer, MaximumAvailableOpenedUnidirectionalStreams) {
QuicStreamId stream_id = GetNthClientInitiatedUnidirectionalId(0);
- session_.GetOrCreateDynamicStream(stream_id);
+ session_.GetOrCreateStream(stream_id);
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0);
- EXPECT_NE(
- nullptr,
- session_.GetOrCreateDynamicStream(GetNthClientInitiatedUnidirectionalId(
- session_.max_open_incoming_unidirectional_streams() - 1)));
+ EXPECT_NE(nullptr,
+ session_.GetOrCreateStream(GetNthClientInitiatedUnidirectionalId(
+ session_.max_open_incoming_unidirectional_streams() - 1)));
}
TEST_P(QuicSessionTestServer, TooManyAvailableBidirectionalStreams) {
QuicStreamId stream_id1 = GetNthClientInitiatedBidirectionalId(0);
QuicStreamId stream_id2;
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id1));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id1));
// A stream ID which is too large to create.
stream_id2 = GetNthClientInitiatedBidirectionalId(
session_.MaxAvailableBidirectionalStreams() + 2);
@@ -686,13 +684,13 @@
EXPECT_CALL(*connection_,
CloseConnection(QUIC_TOO_MANY_AVAILABLE_STREAMS, _, _));
}
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(stream_id2));
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(stream_id2));
}
TEST_P(QuicSessionTestServer, TooManyAvailableUnidirectionalStreams) {
QuicStreamId stream_id1 = GetNthClientInitiatedUnidirectionalId(0);
QuicStreamId stream_id2;
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id1));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id1));
// A stream ID which is too large to create.
stream_id2 = GetNthClientInitiatedUnidirectionalId(
session_.MaxAvailableUnidirectionalStreams() + 2);
@@ -705,7 +703,7 @@
EXPECT_CALL(*connection_,
CloseConnection(QUIC_TOO_MANY_AVAILABLE_STREAMS, _, _));
}
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(stream_id2));
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(stream_id2));
}
TEST_P(QuicSessionTestServer, ManyAvailableBidirectionalStreams) {
@@ -720,21 +718,21 @@
}
// Create a stream at the start of the range.
QuicStreamId stream_id = GetNthClientInitiatedBidirectionalId(0);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id));
// Create the largest stream ID of a threatened total of 200 streams.
// GetNth... starts at 0, so for 200 streams, get the 199th.
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(199)));
if (VersionHasIetfQuicFrames(transport_version())) {
// If IETF QUIC, check to make sure that creating bidirectional
// streams does not mess up the unidirectional streams.
stream_id = GetNthClientInitiatedUnidirectionalId(0);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id));
// Now try to get the last possible unidirectional stream.
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedUnidirectionalId(49)));
// and this should fail because it exceeds the unidirectional limit
// (but not the bi-)
@@ -746,7 +744,7 @@
))
.Times(1);
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedUnidirectionalId(199)));
}
}
@@ -763,20 +761,20 @@
}
// Create one stream.
QuicStreamId stream_id = GetNthClientInitiatedUnidirectionalId(0);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id));
// Create the largest stream ID of a threatened total of 200 streams.
// GetNth... starts at 0, so for 200 streams, get the 199th.
EXPECT_CALL(*connection_, CloseConnection(_, _, _)).Times(0);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedUnidirectionalId(199)));
if (VersionHasIetfQuicFrames(transport_version())) {
// If IETF QUIC, check to make sure that creating unidirectional
// streams does not mess up the bidirectional streams.
stream_id = GetNthClientInitiatedBidirectionalId(0);
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(stream_id));
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(stream_id));
// Now try to get the last possible bidirectional stream.
- EXPECT_NE(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_NE(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(49)));
// and this should fail because it exceeds the bnidirectional limit
// (but not the uni-)
@@ -791,7 +789,7 @@
CloseConnection(QUIC_INVALID_STREAM_ID, error_detail,
ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET))
.Times(1);
- EXPECT_EQ(nullptr, session_.GetOrCreateDynamicStream(
+ EXPECT_EQ(nullptr, session_.GetOrCreateStream(
GetNthClientInitiatedBidirectionalId(199)));
}
}
@@ -1186,7 +1184,7 @@
EXPECT_CALL(*connection_,
OnStreamReset(kTestStreamId, QUIC_STREAM_PEER_GOING_AWAY))
.Times(0);
- EXPECT_TRUE(session_.GetOrCreateDynamicStream(kTestStreamId));
+ EXPECT_TRUE(session_.GetOrCreateStream(kTestStreamId));
}
TEST_P(QuicSessionTestServer, DoNotSendGoAwayTwice) {
@@ -1821,16 +1819,16 @@
::testing::ValuesIn(AllSupportedVersions()));
TEST_P(QuicSessionTestClient, AvailableBidirectionalStreamsClient) {
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedBidirectionalId(2)) != nullptr);
// Smaller bidirectional streams should be available.
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthServerInitiatedBidirectionalId(0)));
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthServerInitiatedBidirectionalId(1)));
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedBidirectionalId(0)) != nullptr);
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedBidirectionalId(1)) != nullptr);
// And 5 should be not available.
EXPECT_FALSE(QuicSessionPeer::IsStreamAvailable(
@@ -1838,16 +1836,16 @@
}
TEST_P(QuicSessionTestClient, AvailableUnidirectionalStreamsClient) {
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedUnidirectionalId(2)) != nullptr);
// Smaller unidirectional streams should be available.
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthServerInitiatedUnidirectionalId(0)));
EXPECT_TRUE(QuicSessionPeer::IsStreamAvailable(
&session_, GetNthServerInitiatedUnidirectionalId(1)));
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedUnidirectionalId(0)) != nullptr);
- ASSERT_TRUE(session_.GetOrCreateDynamicStream(
+ ASSERT_TRUE(session_.GetOrCreateStream(
GetNthServerInitiatedUnidirectionalId(1)) != nullptr);
// And 5 should be not available.
EXPECT_FALSE(QuicSessionPeer::IsStreamAvailable(
diff --git a/quic/test_tools/quic_server_session_base_peer.h b/quic/test_tools/quic_server_session_base_peer.h
index b29fe46..ab5b1f0 100644
--- a/quic/test_tools/quic_server_session_base_peer.h
+++ b/quic/test_tools/quic_server_session_base_peer.h
@@ -14,9 +14,9 @@
class QuicServerSessionBasePeer {
public:
- static QuicStream* GetOrCreateDynamicStream(QuicServerSessionBase* s,
- QuicStreamId id) {
- return s->GetOrCreateDynamicStream(id);
+ static QuicStream* GetOrCreateStream(QuicServerSessionBase* s,
+ QuicStreamId id) {
+ return s->GetOrCreateStream(id);
}
static void SetCryptoStream(QuicServerSessionBase* s,
QuicCryptoServerStream* crypto_stream) {
diff --git a/quic/test_tools/quic_session_peer.cc b/quic/test_tools/quic_session_peer.cc
index 0dfba43..e78b059 100644
--- a/quic/test_tools/quic_session_peer.cc
+++ b/quic/test_tools/quic_session_peer.cc
@@ -118,9 +118,9 @@
}
// static
-QuicStream* QuicSessionPeer::GetOrCreateDynamicStream(QuicSession* session,
- QuicStreamId stream_id) {
- return session->GetOrCreateDynamicStream(stream_id);
+QuicStream* QuicSessionPeer::GetOrCreateStream(QuicSession* session,
+ QuicStreamId stream_id) {
+ return session->GetOrCreateStream(stream_id);
}
// static
diff --git a/quic/test_tools/quic_session_peer.h b/quic/test_tools/quic_session_peer.h
index 9ca8530..f027eb5 100644
--- a/quic/test_tools/quic_session_peer.h
+++ b/quic/test_tools/quic_session_peer.h
@@ -52,8 +52,8 @@
static QuicCryptoStream* GetMutableCryptoStream(QuicSession* session);
static QuicWriteBlockedList* GetWriteBlockedStreams(QuicSession* session);
- static QuicStream* GetOrCreateDynamicStream(QuicSession* session,
- QuicStreamId stream_id);
+ static QuicStream* GetOrCreateStream(QuicSession* session,
+ QuicStreamId stream_id);
static std::map<QuicStreamId, QuicStreamOffset>&
GetLocallyClosedStreamsHighestOffset(QuicSession* session);
static QuicSession::StreamMap& stream_map(QuicSession* session);
diff --git a/quic/tools/quic_simple_server_session_test.cc b/quic/tools/quic_simple_server_session_test.cc
index eeb9ce3..9bc3573 100644
--- a/quic/tools/quic_simple_server_session_test.cc
+++ b/quic/tools/quic_simple_server_session_test.cc
@@ -522,12 +522,12 @@
}
TEST_P(QuicSimpleServerSessionTest, GetEvenIncomingError) {
- // Tests that calling GetOrCreateDynamicStream() on an outgoing stream not
+ // Tests that calling GetOrCreateStream() on an outgoing stream not
// promised yet should result close connection.
EXPECT_CALL(*connection_, CloseConnection(QUIC_INVALID_STREAM_ID,
"Data for nonexistent stream", _));
EXPECT_EQ(nullptr,
- QuicSessionPeer::GetOrCreateDynamicStream(
+ QuicSessionPeer::GetOrCreateStream(
session_.get(), GetNthServerInitiatedUnidirectionalId(1)));
}