gfe-relnote: In QUIC, remove QuicStream::set_fin_received while move QuicStream::set_fin_sent to protected (renamed to SetFinSent and this should only be used by Google QUIC). No functional change expected, not protected.

PiperOrigin-RevId: 306913013
Change-Id: I4d962f3f7527511f424a0a7767fdea009b8f9766
diff --git a/quic/core/http/quic_spdy_server_stream_base_test.cc b/quic/core/http/quic_spdy_server_stream_base_test.cc
index 1a8eef2..b3cc147 100644
--- a/quic/core/http/quic_spdy_server_stream_base_test.cc
+++ b/quic/core/http/quic_spdy_server_stream_base_test.cc
@@ -7,6 +7,7 @@
 #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
 #include "net/third_party/quiche/src/quic/test_tools/quic_spdy_session_peer.h"
+#include "net/third_party/quiche/src/quic/test_tools/quic_stream_peer.h"
 #include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
 
 using testing::_;
@@ -50,7 +51,7 @@
        SendQuicRstStreamNoErrorWithEarlyResponse) {
   stream_->StopReading();
   EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1);
-  stream_->set_fin_sent(true);
+  QuicStreamPeer::SetFinSent(stream_);
   stream_->CloseWriteSide();
 }
 
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc
index 06962b0..fd7248b 100644
--- a/quic/core/http/quic_spdy_stream.cc
+++ b/quic/core/http/quic_spdy_stream.cc
@@ -283,7 +283,7 @@
     // set and write side needs to be closed without actually sending a FIN on
     // this stream.
     // TODO(rch): Add test to ensure fin_sent_ is set whenever a fin is sent.
-    set_fin_sent(true);
+    SetFinSent();
     CloseWriteSide();
   }
   return bytes_written;
@@ -350,7 +350,7 @@
   // If trailers are sent on the headers stream, then |fin_sent_| needs to be
   // set without actually sending a FIN on this stream.
   if (!VersionUsesHttp3(transport_version())) {
-    set_fin_sent(kFin);
+    SetFinSent();
 
     // Also, write side of this stream needs to be closed.  However, only do
     // this if there is no more buffered data, otherwise it will never be sent.
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc
index 86beaef..3b2484d 100644
--- a/quic/core/quic_stream.cc
+++ b/quic/core/quic_stream.cc
@@ -361,10 +361,10 @@
                 : type),
       perspective_(session->perspective()) {
   if (type_ == WRITE_UNIDIRECTIONAL) {
-    set_fin_received(true);
+    fin_received_ = true;
     CloseReadSide();
   } else if (type_ == READ_UNIDIRECTIONAL) {
-    set_fin_sent(true);
+    fin_sent_ = true;
     CloseWriteSide();
   }
   if (type_ != CRYPTO) {
@@ -560,6 +560,11 @@
   CloseReadSide();
 }
 
+void QuicStream::SetFinSent() {
+  DCHECK(!VersionUsesHttp3(transport_version()));
+  fin_sent_ = true;
+}
+
 void QuicStream::Reset(QuicRstStreamErrorCode error) {
   stream_error_ = error;
   // Sending a RstStream results in calling CloseStream.
diff --git a/quic/core/quic_stream.h b/quic/core/quic_stream.h
index aa2e11d..bf12149 100644
--- a/quic/core/quic_stream.h
+++ b/quic/core/quic_stream.h
@@ -224,8 +224,6 @@
   size_t busy_counter() const { return busy_counter_; }
   void set_busy_counter(size_t busy_counter) { busy_counter_ = busy_counter; }
 
-  void set_fin_sent(bool fin_sent) { fin_sent_ = fin_sent; }
-  void set_fin_received(bool fin_received) { fin_received_ = fin_received; }
   void set_rst_sent(bool rst_sent) { rst_sent_ = rst_sent; }
 
   void set_rst_received(bool rst_received) { rst_received_ = rst_received; }
@@ -403,6 +401,10 @@
   // this virtual so that subclasses can implement their own logics.
   virtual void OnDeadlinePassed();
 
+  // Called to set fin_sent_. This is only used by Google QUIC while body is
+  // empty.
+  void SetFinSent();
+
   StreamDelegateInterface* stream_delegate() { return stream_delegate_; }
 
   bool fin_buffered() const { return fin_buffered_; }
diff --git a/quic/test_tools/quic_stream_peer.cc b/quic/test_tools/quic_stream_peer.cc
index 4296198..50eec57 100644
--- a/quic/test_tools/quic_stream_peer.cc
+++ b/quic/test_tools/quic_stream_peer.cc
@@ -58,5 +58,15 @@
   return stream->send_buffer_;
 }
 
+// static
+void QuicStreamPeer::SetFinReceived(QuicStream* stream) {
+  stream->fin_received_ = true;
+}
+
+// static
+void QuicStreamPeer::SetFinSent(QuicStream* stream) {
+  stream->fin_sent_ = true;
+}
+
 }  // namespace test
 }  // namespace quic
diff --git a/quic/test_tools/quic_stream_peer.h b/quic/test_tools/quic_stream_peer.h
index f4b1de3..e57825f 100644
--- a/quic/test_tools/quic_stream_peer.h
+++ b/quic/test_tools/quic_stream_peer.h
@@ -32,6 +32,8 @@
 
   static QuicStreamSequencer* sequencer(QuicStream* stream);
   static QuicSession* session(QuicStream* stream);
+  static void SetFinReceived(QuicStream* stream);
+  static void SetFinSent(QuicStream* stream);
 
   static QuicStreamSendBuffer& SendBuffer(QuicStream* stream);
 };
diff --git a/quic/tools/quic_simple_server_stream_test.cc b/quic/tools/quic_simple_server_stream_test.cc
index 06e8866..8c45942 100644
--- a/quic/tools/quic_simple_server_stream_test.cc
+++ b/quic/tools/quic_simple_server_stream_test.cc
@@ -322,7 +322,7 @@
   EXPECT_FALSE(stream_->fin_received());
   EXPECT_FALSE(stream_->rst_received());
 
-  stream_->set_fin_sent(true);
+  QuicStreamPeer::SetFinSent(stream_);
   stream_->CloseWriteSide();
 
   EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1);
@@ -383,7 +383,7 @@
   memory_cache_backend_.AddResponse("www.google.com", "/bar",
                                     std::move(response_headers_), body);
 
-  stream_->set_fin_received(true);
+  QuicStreamPeer::SetFinReceived(stream_);
 
   InSequence s;
   EXPECT_CALL(*stream_, WriteHeadersMock(false));
@@ -416,7 +416,7 @@
   memory_cache_backend_.AddResponse("www.google.com", "/bar",
                                     std::move(response_headers_), body);
 
-  stream_->set_fin_received(true);
+  QuicStreamPeer::SetFinReceived(stream_);
 
   InSequence s;
   EXPECT_CALL(*stream_, WriteHeadersMock(false));
@@ -476,7 +476,7 @@
 
   memory_cache_backend_.AddResponse("www.google.com", "/bar",
                                     std::move(response_headers_), body);
-  stream_->set_fin_received(true);
+  QuicStreamPeer::SetFinReceived(stream_);
 
   InSequence s;
   EXPECT_CALL(*stream_, WriteHeadersMock(false));
@@ -514,7 +514,7 @@
   (*request_headers)[":authority"] = host;
   (*request_headers)[":method"] = "GET";
 
-  stream_->set_fin_received(true);
+  QuicStreamPeer::SetFinReceived(stream_);
   InSequence s;
   EXPECT_CALL(session_, PromisePushResourcesMock(
                             host + request_path, _,
@@ -592,7 +592,7 @@
 TEST_P(QuicSimpleServerStreamTest, TestSendErrorResponse) {
   EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0);
 
-  stream_->set_fin_received(true);
+  QuicStreamPeer::SetFinReceived(stream_);
 
   InSequence s;
   EXPECT_CALL(*stream_, WriteHeadersMock(false));