Simplify stream priority serialization There's no reason to perform key lookups when the dictionary is being built from scratch. This contains no intentional behavioral differences. PiperOrigin-RevId: 988314759
diff --git a/quiche/quic/core/quic_stream_priority.cc b/quiche/quic/core/quic_stream_priority.cc index 149f10e..6b2a8a4 100644 --- a/quiche/quic/core/quic_stream_priority.cc +++ b/quiche/quic/core/quic_stream_priority.cc
@@ -14,26 +14,26 @@ namespace quic { std::string SerializePriorityFieldValue(HttpStreamPriority priority) { - quiche::structured_headers::Dictionary dictionary; + std::vector<quiche::structured_headers::DictionaryMember> members; if (priority.urgency != HttpStreamPriority::kDefaultUrgency && priority.urgency >= HttpStreamPriority::kMinimumUrgency && priority.urgency <= HttpStreamPriority::kMaximumUrgency) { - dictionary[HttpStreamPriority::kUrgencyKey] = - quiche::structured_headers::ParameterizedMember( - quiche::structured_headers::Item( - static_cast<int64_t>(priority.urgency)), - {}); + members.emplace_back(HttpStreamPriority::kUrgencyKey, + quiche::structured_headers::Item( + static_cast<int64_t>(priority.urgency))); } if (priority.incremental != HttpStreamPriority::kDefaultIncremental) { - dictionary[HttpStreamPriority::kIncrementalKey] = - quiche::structured_headers::ParameterizedMember( - quiche::structured_headers::Item(priority.incremental), {}); + members.emplace_back( + HttpStreamPriority::kIncrementalKey, + quiche::structured_headers::Item(priority.incremental)); } std::optional<std::string> priority_field_value = - quiche::structured_headers::SerializeDictionary(dictionary); + quiche::structured_headers::SerializeDictionary( + quiche::structured_headers::Dictionary(std::move(members))); + if (!priority_field_value.has_value()) { QUICHE_BUG(priority_field_value_serialization_failed); return "";