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(