Add WritevData() in StreamDelegateInterface and let QuicSession::WritevData implement it.

gfe-relnote: no behavior change. not protected.
PiperOrigin-RevId: 295818988
Change-Id: Ic5f9e7bf8ec7c4fc63feaaee96b213911a386433
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index 466d17b..1d6534f 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -165,17 +165,6 @@
                                 const QuicSocketAddress& peer_address,
                                 const QuicReceivedPacket& packet);
 
-  // Called by streams when they want to write data to the peer.
-  // Returns a pair with the number of bytes consumed from data, and a boolean
-  // indicating if the fin bit was consumed.  This does not indicate the data
-  // has been sent on the wire: it may have been turned into a packet and queued
-  // if the socket was unexpectedly blocked.
-  virtual QuicConsumedData WritevData(QuicStream* stream,
-                                      QuicStreamId id,
-                                      size_t write_length,
-                                      QuicStreamOffset offset,
-                                      StreamSendingState state);
-
   // Called by application to send |message|. Data copy can be avoided if
   // |message| is provided in reference counted memory.
   // Please note, |message| provided in reference counted memory would be moved
@@ -263,6 +252,17 @@
   void OnStreamError(QuicErrorCode error_code,
                      std::string error_details) override;
 
+  // Called by streams when they want to write data to the peer.
+  // Returns a pair with the number of bytes consumed from data, and a boolean
+  // indicating if the fin bit was consumed.  This does not indicate the data
+  // has been sent on the wire: it may have been turned into a packet and queued
+  // if the socket was unexpectedly blocked.
+  QuicConsumedData WritevData(QuicStream* stream,
+                              QuicStreamId id,
+                              size_t write_length,
+                              QuicStreamOffset offset,
+                              StreamSendingState state) override;
+
   // Called by the QuicCryptoStream when a handshake message is sent.
   virtual void OnCryptoHandshakeMessageSent(
       const CryptoHandshakeMessage& message);