gfe-relnote: Do not increment QuicSimpleServerSession::highest_promised_stream_id_ if push cannot be created.  Protected by gfe2_reloadable_flag_quic_enable_version_draft_25_v3 and gfe2_reloadable_flag_quic_enable_version_draft_27.

PiperOrigin-RevId: 305792726
Change-Id: Ic01e744b7f599caebe1538586b3f31841eb99f69
diff --git a/quic/tools/quic_simple_server_session.cc b/quic/tools/quic_simple_server_session.cc
index 5c83b48..f84a248 100644
--- a/quic/tools/quic_simple_server_session.cc
+++ b/quic/tools/quic_simple_server_session.cc
@@ -75,15 +75,14 @@
     spdy::SpdyHeaderBlock headers = SynthesizePushRequestHeaders(
         request_url, resource, original_request_headers);
     // TODO(b/136295430): Use sequential push IDs for IETF QUIC.
-    // TODO(bnc): If |highest_promised_stream_id_| is too large, it will always
-    // be skipped.  Fix it by not incrementing if CanCreatePushStreamWithId()
-    // returns false.
-    highest_promised_stream_id_ +=
+    auto new_highest_promised_stream_id =
+        highest_promised_stream_id_ +
         QuicUtils::StreamIdDelta(transport_version());
     if (VersionUsesHttp3(transport_version()) &&
-        !CanCreatePushStreamWithId(highest_promised_stream_id_)) {
+        !CanCreatePushStreamWithId(new_highest_promised_stream_id)) {
       return;
     }
+    highest_promised_stream_id_ = new_highest_promised_stream_id;
     SendPushPromise(original_stream_id, highest_promised_stream_id_,
                     headers.Clone());
     promised_streams_.push_back(PromisedStreamInfo(