Remove the previous headers_stream_ and Change unowned_headers_stream_ to header_stream_. The unique_ptr headers_stream is now only used as a temporary variable to pass into stream_map. No need to have it as a member variable anymore. gfe-relnote: No behavior change. Not protected. PiperOrigin-RevId: 258403361 Change-Id: Idefbab511707878e6904c58f0aaef7c4f205f710
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc index 3fe1f5c..367a99b 100644 --- a/quic/core/http/quic_spdy_session.cc +++ b/quic/core/http/quic_spdy_session.cc
@@ -375,12 +375,12 @@ kDefaultQpackMaxDynamicTableCapacity); } - headers_stream_ = QuicMakeUnique<QuicHeadersStream>((this)); + auto headers_stream = QuicMakeUnique<QuicHeadersStream>((this)); DCHECK_EQ(QuicUtils::GetHeadersStreamId(connection()->transport_version()), - headers_stream_->id()); + headers_stream->id()); - unowned_headers_stream_ = headers_stream_.get(); - RegisterStaticStream(std::move(headers_stream_), + headers_stream_ = headers_stream.get(); + RegisterStaticStream(std::move(headers_stream), /*stream_already_counted = */ false); if (VersionHasStreamType(connection()->transport_version())) {
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h index 0a009bf..1acdbd5 100644 --- a/quic/core/http/quic_spdy_session.h +++ b/quic/core/http/quic_spdy_session.h
@@ -147,11 +147,9 @@ QpackEncoder* qpack_encoder(); QpackDecoder* qpack_decoder(); - QuicHeadersStream* headers_stream() { return unowned_headers_stream_; } + QuicHeadersStream* headers_stream() { return headers_stream_; } - const QuicHeadersStream* headers_stream() const { - return unowned_headers_stream_; - } + const QuicHeadersStream* headers_stream() const { return headers_stream_; } bool server_push_enabled() const { return server_push_enabled_; } @@ -285,15 +283,8 @@ std::unique_ptr<QpackEncoder> qpack_encoder_; std::unique_ptr<QpackDecoder> qpack_decoder_; - // TODO(123528590): Remove this member. - std::unique_ptr<QuicHeadersStream> headers_stream_; - - // Unowned headers stream pointer that points to the stream - // in dynamic_stream_map. - // TODO(renjietang): Merge this with headers_stream_ and clean up other - // static_stream_map logic when flag eliminate_static_stream_map - // is deprecated. - QuicHeadersStream* unowned_headers_stream_; + // Pointer to the header stream in stream_map_. + QuicHeadersStream* headers_stream_; // HTTP/3 control streams. They are owned by QuicSession inside dynamic // stream map, and can be accessed by those unowned pointers below.
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc index 4b450e9..d76b846 100644 --- a/quic/core/http/quic_spdy_session_test.cc +++ b/quic/core/http/quic_spdy_session_test.cc
@@ -928,9 +928,9 @@ } TestHeadersStream* headers_stream; - QuicSpdySessionPeer::SetUnownedHeadersStream(&session_, nullptr); + QuicSpdySessionPeer::SetHeadersStream(&session_, nullptr); headers_stream = new TestHeadersStream(&session_); - QuicSpdySessionPeer::SetUnownedHeadersStream(&session_, headers_stream); + QuicSpdySessionPeer::SetHeadersStream(&session_, headers_stream); session_.MarkConnectionLevelWriteBlocked( QuicUtils::GetHeadersStreamId(connection_->transport_version())); EXPECT_CALL(*headers_stream, OnCanWrite()); @@ -1741,9 +1741,9 @@ TEST_P(QuicSpdySessionTestClient, WritePriority) { TestHeadersStream* headers_stream; - QuicSpdySessionPeer::SetUnownedHeadersStream(&session_, nullptr); + QuicSpdySessionPeer::SetHeadersStream(&session_, nullptr); headers_stream = new TestHeadersStream(&session_); - QuicSpdySessionPeer::SetUnownedHeadersStream(&session_, headers_stream); + QuicSpdySessionPeer::SetHeadersStream(&session_, headers_stream); // Make packet writer blocked so |headers_stream| will buffer its write data. MockPacketWriter* writer = static_cast<MockPacketWriter*>(
diff --git a/quic/test_tools/quic_spdy_session_peer.cc b/quic/test_tools/quic_spdy_session_peer.cc index be0849b..68552a8 100644 --- a/quic/test_tools/quic_spdy_session_peer.cc +++ b/quic/test_tools/quic_spdy_session_peer.cc
@@ -16,15 +16,13 @@ return session->headers_stream(); } -void QuicSpdySessionPeer::SetUnownedHeadersStream( - QuicSpdySession* session, - QuicHeadersStream* headers_stream) { +void QuicSpdySessionPeer::SetHeadersStream(QuicSpdySession* session, + QuicHeadersStream* headers_stream) { for (auto& it : session->stream_map()) { if (it.first == QuicUtils::GetHeadersStreamId( session->connection()->transport_version())) { it.second.reset(headers_stream); - session->unowned_headers_stream_ = - static_cast<QuicHeadersStream*>(it.second.get()); + session->headers_stream_ = static_cast<QuicHeadersStream*>(it.second.get()); break; } }
diff --git a/quic/test_tools/quic_spdy_session_peer.h b/quic/test_tools/quic_spdy_session_peer.h index f97b264..aacf712 100644 --- a/quic/test_tools/quic_spdy_session_peer.h +++ b/quic/test_tools/quic_spdy_session_peer.h
@@ -24,8 +24,8 @@ QuicSpdySessionPeer() = delete; static QuicHeadersStream* GetHeadersStream(QuicSpdySession* session); - static void SetUnownedHeadersStream(QuicSpdySession* session, - QuicHeadersStream* headers_stream); + static void SetHeadersStream(QuicSpdySession* session, + QuicHeadersStream* headers_stream); static const spdy::SpdyFramer& GetSpdyFramer(QuicSpdySession* session); static void SetHpackEncoderDebugVisitor( QuicSpdySession* session,