Deprecate QuicSession::CloseStream().

Unused code. not protected.

PiperOrigin-RevId: 328563383
Change-Id: I0f867cadeb149137175f07574d7ddc7947e164aa
diff --git a/quic/core/http/quic_client_promised_info_test.cc b/quic/core/http/quic_client_promised_info_test.cc
index e1b00c8..1a1ec69 100644
--- a/quic/core/http/quic_client_promised_info_test.cc
+++ b/quic/core/http/quic_client_promised_info_test.cc
@@ -52,8 +52,6 @@
 
   void set_authorized(bool authorized) { authorized_ = authorized; }
 
-  MOCK_METHOD(void, CloseStream, (QuicStreamId stream_id), (override));
-
  private:
   QuicCryptoClientConfig crypto_config_;
 
diff --git a/quic/core/http/quic_client_push_promise_index_test.cc b/quic/core/http/quic_client_push_promise_index_test.cc
index 0fc903a..3e825a0 100644
--- a/quic/core/http/quic_client_push_promise_index_test.cc
+++ b/quic/core/http/quic_client_push_promise_index_test.cc
@@ -40,8 +40,6 @@
       delete;
   ~MockQuicSpdyClientSession() override {}
 
-  MOCK_METHOD(void, CloseStream, (QuicStreamId stream_id), (override));
-
  private:
   QuicCryptoClientConfig crypto_config_;
 };
diff --git a/quic/core/http/quic_spdy_client_session_base.cc b/quic/core/http/quic_spdy_client_session_base.cc
index 46305a6..db6f9ea 100644
--- a/quic/core/http/quic_spdy_client_session_base.cc
+++ b/quic/core/http/quic_spdy_client_session_base.cc
@@ -213,13 +213,6 @@
   }
 }
 
-void QuicSpdyClientSessionBase::CloseStream(QuicStreamId stream_id) {
-  QuicSpdySession::CloseStream(stream_id);
-  if (!VersionUsesHttp3(transport_version())) {
-    headers_stream()->MaybeReleaseSequencerBuffer();
-  }
-}
-
 void QuicSpdyClientSessionBase::OnStreamClosed(QuicStreamId stream_id) {
   QuicSpdySession::OnStreamClosed(stream_id);
   if (!VersionUsesHttp3(transport_version())) {
diff --git a/quic/core/http/quic_spdy_client_session_base.h b/quic/core/http/quic_spdy_client_session_base.h
index 3192479..e09f7cf 100644
--- a/quic/core/http/quic_spdy_client_session_base.h
+++ b/quic/core/http/quic_spdy_client_session_base.h
@@ -102,9 +102,6 @@
   void ResetPromised(QuicStreamId id, QuicRstStreamErrorCode error_code);
 
   // Release headers stream's sequencer buffer if it's empty.
-  void CloseStream(QuicStreamId stream_id) override;
-
-  // Release headers stream's sequencer buffer if it's empty.
   void OnStreamClosed(QuicStreamId stream_id) override;
 
   // Returns true if there are no active requests and no promised streams.
diff --git a/quic/core/http/quic_spdy_client_stream_test.cc b/quic/core/http/quic_spdy_client_stream_test.cc
index ffd4590..c8653ed 100644
--- a/quic/core/http/quic_spdy_client_stream_test.cc
+++ b/quic/core/http/quic_spdy_client_stream_test.cc
@@ -46,8 +46,6 @@
       delete;
   ~MockQuicSpdyClientSession() override = default;
 
-  MOCK_METHOD(void, CloseStream, (QuicStreamId stream_id), (override));
-
   using QuicSession::ActivateStream;
 
  private:
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index dfa0c2c..c656459 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -865,31 +865,6 @@
   control_frame_manager_.WriteOrBufferMaxStreams(stream_count, unidirectional);
 }
 
-void QuicSession::CloseStream(QuicStreamId stream_id) {
-  QUIC_DVLOG(1) << ENDPOINT << "Closing stream " << stream_id;
-
-  StreamMap::iterator it = stream_map_.find(stream_id);
-  if (it == stream_map_.end()) {
-    // When CloseStream has been called recursively (via
-    // QuicStream::OnClose), the stream will already have been deleted
-    // from stream_map_, so return immediately.
-    QUIC_DVLOG(1) << ENDPOINT << "Stream is already closed: " << stream_id;
-    return;
-  }
-  QuicStream* stream = it->second.get();
-  if (stream->is_static()) {
-    QUIC_DVLOG(1) << ENDPOINT
-                  << "Try to close a static stream, id: " << stream_id
-                  << " Closing connection";
-    connection()->CloseConnection(
-        QUIC_INVALID_STREAM_ID, "Try to close a static stream",
-        ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
-    return;
-  }
-  stream->CloseReadSide();
-  stream->CloseWriteSide();
-}
-
 void QuicSession::InsertLocallyClosedStreamsHighestOffset(
     const QuicStreamId id,
     QuicStreamOffset offset) {
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index e81375d..4e59dc0 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -233,12 +233,6 @@
   // Create and transmit a STOP_SENDING frame
   virtual void SendStopSending(uint16_t code, QuicStreamId stream_id);
 
-  // Close stream |stream_id|. Whether sending RST_STREAM (and STOP_SENDING)
-  // depends on the sending and receiving states.
-  // TODO(b/136274541): Deprecate CloseStream, instead always use ResetStream to
-  // close a stream from session.
-  virtual void CloseStream(QuicStreamId stream_id);
-
   // Called by stream |stream_id| when it gets closed.
   virtual void OnStreamClosed(QuicStreamId stream_id);
 
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index 67cb2be..6c2b867 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -168,7 +168,6 @@
   TestStream(PendingStream* pending, StreamType type)
       : QuicStream(pending, type, /*is_static=*/false) {}
 
-  using QuicStream::CloseReadSide;
   using QuicStream::CloseWriteSide;
   using QuicStream::WriteMemSlices;
 
@@ -2560,7 +2559,7 @@
   session_.set_writev_consumes_all_data(true);
   TestStream* stream2 = session_.CreateOutgoingBidirectionalStream();
   std::string body(100, '.');
-  stream2->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream2);
   stream2->WriteOrBufferData(body, true, nullptr);
   EXPECT_TRUE(stream2->IsWaitingForAcks());
   // Verify stream2 is a zombie streams.
diff --git a/quic/core/quic_stream.h b/quic/core/quic_stream.h
index 3590190..68d3f89 100644
--- a/quic/core/quic_stream.h
+++ b/quic/core/quic_stream.h
@@ -349,19 +349,6 @@
   // gracefully.
   virtual bool OnStopSending(uint16_t code);
 
-  // Close the write side of the socket.  Further writes will fail.
-  // Can be called by the subclass or internally.
-  // Does not send a FIN.  May cause the stream to be closed.
-  virtual void CloseWriteSide();
-
-  // Close the read side of the stream.  May cause the stream to be closed.
-  // Subclasses and consumers should use StopReading to terminate reading early
-  // if expecting a FIN. Can be used directly by subclasses if not expecting a
-  // FIN.
-  // TODO(fayang): move this to protected when removing
-  // QuicSession::CloseStream.
-  void CloseReadSide();
-
   // Returns true if the stream is static.
   bool is_static() const { return is_static_; }
 
@@ -414,6 +401,11 @@
   // empty.
   void SetFinSent();
 
+  // Close the write side of the socket.  Further writes will fail.
+  // Can be called by the subclass or internally.
+  // Does not send a FIN.  May cause the stream to be closed.
+  virtual void CloseWriteSide();
+
   void set_rst_received(bool rst_received) { rst_received_ = rst_received; }
   void set_stream_error(QuicRstStreamErrorCode error) { stream_error_ = error; }
 
@@ -461,6 +453,9 @@
   // WriteOrBufferData, Writev and WriteBufferedData.
   void WriteBufferedData();
 
+  // Close the read side of the stream.  May cause the stream to be closed.
+  void CloseReadSide();
+
   // Called when bytes are sent to the peer.
   void AddBytesSent(QuicByteCount bytes);
 
diff --git a/quic/core/quic_stream_test.cc b/quic/core/quic_stream_test.cc
index 206fb71..36979dc 100644
--- a/quic/core/quic_stream_test.cc
+++ b/quic/core/quic_stream_test.cc
@@ -455,7 +455,7 @@
 
   // Now close the stream, and expect that we send a RST.
   EXPECT_CALL(*session_, SendRstStream(_, _, _, _));
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
   EXPECT_FALSE(session_->HasUnackedStreamData());
   EXPECT_FALSE(fin_sent());
@@ -483,7 +483,7 @@
   EXPECT_FALSE(rst_sent());
 
   // Now close the stream, and expect that we do not send a RST.
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
   EXPECT_TRUE(fin_sent());
   EXPECT_FALSE(rst_sent());
@@ -508,7 +508,7 @@
 
   // Now close the stream (any further resets being sent would break the
   // expectation above).
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
   EXPECT_FALSE(fin_sent());
   EXPECT_TRUE(rst_sent());
@@ -642,7 +642,7 @@
               CloseConnection(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, _, _));
   stream_->OnStreamReset(rst_frame);
   EXPECT_TRUE(stream_->HasReceivedFinalOffset());
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
 }