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*>(