Convert quic::PendingStream constructor to take QuicSession reference.

The constructor of quic::PendingStream takes a pointer to a QuicSession as an argument. This argument is never null. This CL converts it to take a reference instead, and changes all callers to pass in a reference.

PiperOrigin-RevId: 903321481
diff --git a/quiche/quic/core/quic_session.cc b/quiche/quic/core/quic_session.cc
index 15c790f..34dd4ff 100644
--- a/quiche/quic/core/quic_session.cc
+++ b/quiche/quic/core/quic_session.cc
@@ -2338,7 +2338,7 @@
     return nullptr;
   }
 
-  auto pending = std::make_unique<PendingStream>(stream_id, this);
+  auto pending = std::make_unique<PendingStream>(stream_id, *this);
   PendingStream* unowned_pending = pending.get();
   pending_stream_map_[stream_id] = std::move(pending);
   return unowned_pending;
diff --git a/quiche/quic/core/quic_stream.cc b/quiche/quic/core/quic_stream.cc
index b50371d..673a869 100644
--- a/quiche/quic/core/quic_stream.cc
+++ b/quiche/quic/core/quic_stream.cc
@@ -129,26 +129,26 @@
 
 }  // namespace
 
-PendingStream::PendingStream(QuicStreamId id, QuicSession* session)
+PendingStream::PendingStream(QuicStreamId id, QuicSession& session)
     : id_(id),
-      version_(session->version()),
-      stream_delegate_(session),
+      version_(session.version()),
+      stream_delegate_(&session),
       stream_bytes_read_(0),
       fin_received_(false),
-      is_bidirectional_(QuicUtils::GetStreamType(id, session->perspective(),
+      is_bidirectional_(QuicUtils::GetStreamType(id, session.perspective(),
                                                  /*peer_initiated = */ true,
-                                                 session->version()) ==
+                                                 session.version()) ==
                         BIDIRECTIONAL),
-      connection_flow_controller_(session->flow_controller()),
-      flow_controller_(session, id,
+      connection_flow_controller_(session.flow_controller()),
+      flow_controller_(&session, id,
                        /*is_connection_flow_controller*/ false,
-                       GetReceivedFlowControlWindow(session, id),
-                       GetInitialStreamFlowControlWindowToSend(session, id),
+                       GetReceivedFlowControlWindow(&session, id),
+                       GetInitialStreamFlowControlWindowToSend(&session, id),
                        kStreamReceiveWindowLimit,
-                       session->flow_controller()->auto_tune_receive_window(),
-                       session->flow_controller()),
+                       session.flow_controller()->auto_tune_receive_window(),
+                       session.flow_controller()),
       sequencer_(this),
-      creation_time_(session->GetClock()->ApproximateNow()) {
+      creation_time_(session.GetClock()->ApproximateNow()) {
   if (is_bidirectional_) {
     QUIC_CODE_COUNT_N(quic_pending_stream, 3, 3);
   }
diff --git a/quiche/quic/core/quic_stream.h b/quiche/quic/core/quic_stream.h
index 26c9155..2a11b8b 100644
--- a/quiche/quic/core/quic_stream.h
+++ b/quiche/quic/core/quic_stream.h
@@ -58,7 +58,7 @@
 class QUICHE_EXPORT PendingStream
     : public QuicStreamSequencer::StreamInterface {
  public:
-  PendingStream(QuicStreamId id, QuicSession* session);
+  PendingStream(QuicStreamId id, QuicSession& session);
   PendingStream(const PendingStream&) = delete;
   PendingStream(PendingStream&&) = default;
   ~PendingStream() override = default;
diff --git a/quiche/quic/core/quic_stream_test.cc b/quiche/quic/core/quic_stream_test.cc
index 2db7d8f..e8b5cdc 100644
--- a/quiche/quic/core/quic_stream_test.cc
+++ b/quiche/quic/core/quic_stream_test.cc
@@ -218,11 +218,11 @@
 TEST_P(PendingStreamTest, PendingStreamStaticness) {
   Initialize();
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
   TestStream stream(&pending, session_.get(), false);
   EXPECT_FALSE(stream.is_static());
 
-  PendingStream pending2(kTestPendingStreamId + 4, session_.get());
+  PendingStream pending2(kTestPendingStreamId + 4, *session_);
   TestStream stream2(&pending2, session_.get(), true);
   EXPECT_TRUE(stream2.is_static());
 }
@@ -230,7 +230,7 @@
 TEST_P(PendingStreamTest, PendingStreamType) {
   Initialize();
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
   TestStream stream(&pending, session_.get(), false);
   EXPECT_EQ(stream.type(), READ_UNIDIRECTIONAL);
 }
@@ -241,7 +241,7 @@
   QuicStreamId server_initiated_pending_stream_id =
       GetNthServerInitiatedUnidirectionalStreamId(session_->transport_version(),
                                                   1);
-  PendingStream pending(server_initiated_pending_stream_id, session_.get());
+  PendingStream pending(server_initiated_pending_stream_id, *session_);
   TestStream stream(&pending, session_.get(), false);
   EXPECT_EQ(stream.type(), READ_UNIDIRECTIONAL);
 }
@@ -249,7 +249,7 @@
 TEST_P(PendingStreamTest, PendingStreamTooMuchData) {
   Initialize();
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
   // Receive a stream frame that violates flow control: the byte offset is
   // higher than the receive window offset.
   QuicStreamFrame frame(kTestPendingStreamId, false,
@@ -264,7 +264,7 @@
 TEST_P(PendingStreamTest, PendingStreamTooMuchDataInRstStream) {
   Initialize();
 
-  PendingStream pending1(kTestPendingStreamId, session_.get());
+  PendingStream pending1(kTestPendingStreamId, *session_);
   // Receive a rst stream frame that violates flow control: the byte offset is
   // higher than the receive window offset.
   QuicRstStreamFrame frame1(kInvalidControlFrameId, kTestPendingStreamId,
@@ -279,7 +279,7 @@
 
   QuicStreamId bidirection_stream_id = QuicUtils::GetFirstBidirectionalStreamId(
       session_->transport_version(), Perspective::IS_CLIENT);
-  PendingStream pending2(bidirection_stream_id, session_.get());
+  PendingStream pending2(bidirection_stream_id, *session_);
   // Receive a rst stream frame that violates flow control: the byte offset is
   // higher than the receive window offset.
   QuicRstStreamFrame frame2(kInvalidControlFrameId, bidirection_stream_id,
@@ -295,7 +295,7 @@
 TEST_P(PendingStreamTest, PendingStreamRstStream) {
   Initialize();
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
   QuicStreamOffset final_byte_offset = 7;
   QuicRstStreamFrame frame(kInvalidControlFrameId, kTestPendingStreamId,
                            QUIC_STREAM_CANCELLED, final_byte_offset);
@@ -310,7 +310,7 @@
 
   QuicStreamId bidirection_stream_id = QuicUtils::GetFirstBidirectionalStreamId(
       session_->transport_version(), Perspective::IS_CLIENT);
-  PendingStream pending(bidirection_stream_id, session_.get());
+  PendingStream pending(bidirection_stream_id, *session_);
   QuicWindowUpdateFrame frame(kInvalidControlFrameId, bidirection_stream_id,
                               kDefaultFlowControlSendWindow * 2);
   pending.OnWindowUpdateFrame(frame);
@@ -325,7 +325,7 @@
 
   QuicStreamId bidirection_stream_id = QuicUtils::GetFirstBidirectionalStreamId(
       session_->transport_version(), Perspective::IS_CLIENT);
-  PendingStream pending(bidirection_stream_id, session_.get());
+  PendingStream pending(bidirection_stream_id, *session_);
   QuicResetStreamError error =
       QuicResetStreamError::FromInternal(QUIC_STREAM_INTERNAL_ERROR);
   pending.OnStopSending(error);
@@ -337,7 +337,7 @@
 TEST_P(PendingStreamTest, FromPendingStream) {
   Initialize();
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
 
   QuicStreamFrame frame(kTestPendingStreamId, false, 2, ".");
   pending.OnStreamFrame(frame);
@@ -358,7 +358,7 @@
 TEST_P(PendingStreamTest, FromPendingStreamThenData) {
   Initialize();
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
 
   QuicStreamFrame frame(kTestPendingStreamId, false, 2, ".");
   pending.OnStreamFrame(frame);
@@ -383,7 +383,7 @@
     return;
   }
 
-  PendingStream pending(kTestPendingStreamId, session_.get());
+  PendingStream pending(kTestPendingStreamId, *session_);
 
   QuicResetStreamAtFrame rst(0, kTestPendingStreamId, QUIC_STREAM_CANCELLED,
                              100, 3);