Send `urgency` when sending `incremental`. PiperOrigin-RevId: 504634170
diff --git a/quiche/quic/core/quic_stream_priority.cc b/quiche/quic/core/quic_stream_priority.cc index c378bfa..1d2e251 100644 --- a/quiche/quic/core/quic_stream_priority.cc +++ b/quiche/quic/core/quic_stream_priority.cc
@@ -12,7 +12,9 @@ std::string SerializePriorityFieldValue(QuicStreamPriority priority) { quiche::structured_headers::Dictionary dictionary; - if (priority.urgency != QuicStreamPriority::kDefaultUrgency && + // TODO(b/266722347): Never send `urgency` if value equals default value. + if ((priority.urgency != QuicStreamPriority::kDefaultUrgency || + priority.incremental != QuicStreamPriority::kDefaultIncremental) && priority.urgency >= QuicStreamPriority::kMinimumUrgency && priority.urgency <= QuicStreamPriority::kMaximumUrgency) { dictionary[QuicStreamPriority::kUrgencyKey] =
diff --git a/quiche/quic/core/quic_stream_priority_test.cc b/quiche/quic/core/quic_stream_priority_test.cc index f379a2a..88be74e 100644 --- a/quiche/quic/core/quic_stream_priority_test.cc +++ b/quiche/quic/core/quic_stream_priority_test.cc
@@ -36,8 +36,9 @@ {/* urgency = */ 3, /* incremental = */ false})); EXPECT_EQ("u=5", SerializePriorityFieldValue( {/* urgency = */ 5, /* incremental = */ false})); - EXPECT_EQ("i", SerializePriorityFieldValue( - {/* urgency = */ 3, /* incremental = */ true})); + // TODO(b/266722347): Never send `urgency` if value equals default value. + EXPECT_EQ("u=3, i", SerializePriorityFieldValue( + {/* urgency = */ 3, /* incremental = */ true})); EXPECT_EQ("u=0, i", SerializePriorityFieldValue( {/* urgency = */ 0, /* incremental = */ true})); // Out-of-bound value is ignored.