Support serialization and parsing for MoQT draft-05 publisher priority.
PiperOrigin-RevId: 653855555
diff --git a/quiche/quic/moqt/moqt_framer.cc b/quiche/quic/moqt/moqt_framer.cc
index fd9aeef..78c9e3a 100644
--- a/quiche/quic/moqt/moqt_framer.cc
+++ b/quiche/quic/moqt/moqt_framer.cc
@@ -176,7 +176,7 @@
? Serialize(WireVarInt62(message_type),
WireVarInt62(message.subscribe_id),
WireVarInt62(message.track_alias),
- WireVarInt62(message.object_send_order),
+ WireUint8(message.publisher_priority),
WireVarInt62(message.group_id),
WireVarInt62(message.object_id),
WireVarInt62(*message.payload_length),
@@ -184,7 +184,7 @@
: Serialize(WireVarInt62(message_type),
WireVarInt62(message.subscribe_id),
WireVarInt62(message.track_alias),
- WireVarInt62(message.object_send_order),
+ WireUint8(message.publisher_priority),
WireVarInt62(message.group_id),
WireVarInt62(message.object_id),
WireVarInt62(*message.payload_length));
@@ -194,7 +194,7 @@
WireVarInt62(message.subscribe_id),
WireVarInt62(message.track_alias),
WireVarInt62(message.group_id),
- WireVarInt62(message.object_send_order),
+ WireUint8(message.publisher_priority),
WireVarInt62(message.object_id),
WireVarInt62(*message.payload_length),
WireVarInt62(message.object_status))
@@ -202,7 +202,7 @@
WireVarInt62(message.subscribe_id),
WireVarInt62(message.track_alias),
WireVarInt62(message.group_id),
- WireVarInt62(message.object_send_order),
+ WireUint8(message.publisher_priority),
WireVarInt62(message.object_id),
WireVarInt62(*message.payload_length));
case MoqtForwardingPreference::kObject:
@@ -211,7 +211,7 @@
WireVarInt62(message_type), WireVarInt62(message.subscribe_id),
WireVarInt62(message.track_alias), WireVarInt62(message.group_id),
WireVarInt62(message.object_id),
- WireVarInt62(message.object_send_order),
+ WireUint8(message.publisher_priority),
WireVarInt62(message.object_status));
}
}
@@ -227,7 +227,7 @@
WireVarInt62(MoqtMessageType::kObjectDatagram),
WireVarInt62(message.subscribe_id), WireVarInt62(message.track_alias),
WireVarInt62(message.group_id), WireVarInt62(message.object_id),
- WireVarInt62(message.object_send_order),
+ WireUint8(message.publisher_priority),
WireVarInt62(static_cast<uint64_t>(message.object_status)),
WireBytes(payload));
}
diff --git a/quiche/quic/moqt/moqt_framer_test.cc b/quiche/quic/moqt/moqt_framer_test.cc
index 916ac1d..6be927d 100644
--- a/quiche/quic/moqt/moqt_framer_test.cc
+++ b/quiche/quic/moqt/moqt_framer_test.cc
@@ -240,7 +240,7 @@
/*track_alias=*/4,
/*group_id=*/5,
/*object_id=*/6,
- /*object_send_order=*/7,
+ /*publisher_priority=*/7,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kObject,
/*payload_length=*/std::nullopt,
@@ -268,7 +268,7 @@
/*track_alias=*/4,
/*group_id=*/5,
/*object_id=*/6,
- /*object_send_order=*/7,
+ /*publisher_priority=*/7,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kObject,
/*payload_length=*/std::nullopt,
diff --git a/quiche/quic/moqt/moqt_integration_test.cc b/quiche/quic/moqt/moqt_integration_test.cc
index 66df451..80710e5 100644
--- a/quiche/quic/moqt/moqt_integration_test.cc
+++ b/quiche/quic/moqt/moqt_integration_test.cc
@@ -195,7 +195,8 @@
EXPECT_CALL(server_visitor, OnObjectFragment(_, _, _, _, _, _, _, _))
.WillOnce([&](const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t /*object_send_order*/, MoqtObjectStatus status,
+ MoqtPriority /*publisher_priority*/,
+ MoqtObjectStatus status,
MoqtForwardingPreference forwarding_preference,
absl::string_view object, bool end_of_message) {
EXPECT_EQ(full_track_name.track_namespace, "test");
diff --git a/quiche/quic/moqt/moqt_messages.h b/quiche/quic/moqt/moqt_messages.h
index 61015be..5521e36 100644
--- a/quiche/quic/moqt/moqt_messages.h
+++ b/quiche/quic/moqt/moqt_messages.h
@@ -19,6 +19,7 @@
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_versions.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/common/platform/api/quiche_export.h"
namespace moqt {
@@ -223,7 +224,7 @@
uint64_t track_alias;
uint64_t group_id;
uint64_t object_id;
- uint64_t object_send_order;
+ MoqtPriority publisher_priority;
MoqtObjectStatus object_status;
MoqtForwardingPreference forwarding_preference;
std::optional<uint64_t> payload_length;
diff --git a/quiche/quic/moqt/moqt_outgoing_queue.h b/quiche/quic/moqt/moqt_outgoing_queue.h
index 4daa389..42d6425 100644
--- a/quiche/quic/moqt/moqt_outgoing_queue.h
+++ b/quiche/quic/moqt/moqt_outgoing_queue.h
@@ -16,6 +16,7 @@
#include "absl/status/statusor.h"
#include "quiche/quic/moqt/moqt_cached_object.h"
#include "quiche/quic/moqt/moqt_messages.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/quic/moqt/moqt_publisher.h"
#include "quiche/quic/moqt/moqt_session.h"
#include "quiche/common/platform/api/quiche_mem_slice.h"
@@ -63,6 +64,9 @@
MoqtForwardingPreference GetForwardingPreference() const override {
return forwarding_preference_;
}
+ MoqtPriority GetPublisherPriority() const override {
+ return publisher_priority_;
+ }
bool HasSubscribers() const { return !listeners_.empty(); }
@@ -82,6 +86,7 @@
MoqtSession* session_; // Not owned.
FullTrackName track_;
MoqtForwardingPreference forwarding_preference_;
+ MoqtPriority publisher_priority_ = 128;
absl::InlinedVector<Group, kMaxQueuedGroups> queue_;
uint64_t current_group_id_ = -1;
absl::flat_hash_set<MoqtObjectListener*> listeners_;
diff --git a/quiche/quic/moqt/moqt_parser.cc b/quiche/quic/moqt/moqt_parser.cc
index c026246..a5b180d 100644
--- a/quiche/quic/moqt/moqt_parser.cc
+++ b/quiche/quic/moqt/moqt_parser.cc
@@ -741,7 +741,7 @@
!reader.ReadVarInt62(&object.object_id)) {
return 0;
}
- if (!reader.ReadVarInt62(&object.object_send_order)) {
+ if (!reader.ReadUInt8(&object.publisher_priority)) {
return 0;
}
uint64_t status = 0; // Defaults to kNormal.
diff --git a/quiche/quic/moqt/moqt_publisher.h b/quiche/quic/moqt/moqt_publisher.h
index ab163d5..4c66001 100644
--- a/quiche/quic/moqt/moqt_publisher.h
+++ b/quiche/quic/moqt/moqt_publisher.h
@@ -11,6 +11,7 @@
#include "absl/status/statusor.h"
#include "quiche/quic/moqt/moqt_messages.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/common/platform/api/quiche_mem_slice.h"
namespace moqt {
@@ -90,6 +91,9 @@
// This method may only be called if
// DoesTrackStatusImplyHavingData(GetTrackStatus()) is true.
virtual MoqtForwardingPreference GetForwardingPreference() const = 0;
+
+ // Returns the current forwarding priority of the track.
+ virtual MoqtPriority GetPublisherPriority() const = 0;
};
// MoqtPublisher is an interface to a publisher that allows it to publish
diff --git a/quiche/quic/moqt/moqt_session.cc b/quiche/quic/moqt/moqt_session.cc
index 154c8ba..db716fb 100644
--- a/quiche/quic/moqt/moqt_session.cc
+++ b/quiche/quic/moqt/moqt_session.cc
@@ -187,12 +187,12 @@
<< message.subscribe_id << " for track alias "
<< message.track_alias << " with sequence "
<< message.group_id << ":" << message.object_id
- << " send_order " << message.object_send_order << " length "
+ << " priority " << message.publisher_priority << " length "
<< payload.size();
auto [full_track_name, visitor] = TrackPropertiesFromAlias(message);
if (visitor != nullptr) {
visitor->OnObjectFragment(full_track_name, message.group_id,
- message.object_id, message.object_send_order,
+ message.object_id, message.publisher_priority,
message.object_status,
message.forwarding_preference, payload, true);
}
@@ -799,8 +799,8 @@
<< ENDPOINT << "Received OBJECT message on stream "
<< stream_->GetStreamId() << " for subscribe_id " << message.subscribe_id
<< " for track alias " << message.track_alias << " with sequence "
- << message.group_id << ":" << message.object_id << " send_order "
- << message.object_send_order << " forwarding_preference "
+ << message.group_id << ":" << message.object_id << " priority "
+ << message.publisher_priority << " forwarding_preference "
<< MoqtForwardingPreferenceToString(message.forwarding_preference)
<< " length " << payload.size() << " explicit length "
<< (message.payload_length.has_value() ? (int)*message.payload_length
@@ -820,7 +820,7 @@
if (visitor != nullptr) {
visitor->OnObjectFragment(
full_track_name, message.group_id, message.object_id,
- message.object_send_order, message.object_status,
+ message.publisher_priority, message.object_status,
message.forwarding_preference, payload, end_of_message);
}
partial_object_.clear();
@@ -1059,7 +1059,7 @@
header.track_alias = subscription.track_alias();
header.group_id = object.sequence.group;
header.object_id = object.sequence.object;
- header.object_send_order = 0; // TODO: remove in draft-05
+ header.publisher_priority = publisher.GetPublisherPriority();
header.object_status = object.status;
header.forwarding_preference = forwarding_preference;
header.payload_length = object.payload.length();
@@ -1136,7 +1136,7 @@
header.track_alias = track_alias();
header.group_id = object->sequence.group;
header.object_id = object->sequence.object;
- header.object_send_order = 0; // TODO: remove in draft-05
+ header.publisher_priority = track_publisher_->GetPublisherPriority();
header.object_status = object->status;
header.forwarding_preference = MoqtForwardingPreference::kDatagram;
quiche::QuicheBuffer datagram = session_->framer_.SerializeObjectDatagram(
diff --git a/quiche/quic/moqt/moqt_session_test.cc b/quiche/quic/moqt/moqt_session_test.cc
index 1c8162b..1b5b2e4 100644
--- a/quiche/quic/moqt/moqt_session_test.cc
+++ b/quiche/quic/moqt/moqt_session_test.cc
@@ -21,6 +21,7 @@
#include "quiche/quic/moqt/moqt_known_track_publisher.h"
#include "quiche/quic/moqt/moqt_messages.h"
#include "quiche/quic/moqt/moqt_parser.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/quic/moqt/moqt_publisher.h"
#include "quiche/quic/moqt/moqt_track.h"
#include "quiche/quic/moqt/tools/moqt_mock_visitor.h"
@@ -555,7 +556,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/8,
@@ -580,7 +581,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/16,
@@ -615,7 +616,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/16,
@@ -651,7 +652,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/8,
@@ -663,7 +664,7 @@
EXPECT_CALL(visitor_, OnObjectFragment(_, _, _, _, _, _, _, _))
.WillOnce([&](const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t object_send_order, MoqtObjectStatus status,
+ MoqtPriority publisher_priority, MoqtObjectStatus status,
MoqtForwardingPreference forwarding_preference,
absl::string_view payload, bool end_of_message) {
EXPECT_EQ(full_track_name, ftn);
@@ -707,7 +708,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/8,
@@ -719,7 +720,7 @@
EXPECT_CALL(visitor, OnObjectFragment(_, _, _, _, _, _, _, _))
.WillOnce([&](const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t object_send_order, MoqtObjectStatus status,
+ MoqtPriority publisher_priority, MoqtObjectStatus status,
MoqtForwardingPreference forwarding_preference,
absl::string_view payload, bool end_of_message) {
EXPECT_EQ(full_track_name, ftn);
@@ -767,7 +768,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/8,
@@ -779,7 +780,7 @@
EXPECT_CALL(visitor, OnObjectFragment(_, _, _, _, _, _, _, _))
.WillOnce([&](const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t object_send_order, MoqtObjectStatus status,
+ MoqtPriority publisher_priority, MoqtObjectStatus status,
MoqtForwardingPreference forwarding_preference,
absl::string_view payload, bool end_of_message) {
EXPECT_EQ(full_track_name, ftn);
@@ -818,7 +819,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/8,
@@ -830,7 +831,7 @@
EXPECT_CALL(visitor, OnObjectFragment(_, _, _, _, _, _, _, _))
.WillOnce([&](const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t object_send_order, MoqtObjectStatus status,
+ MoqtPriority publisher_priority, MoqtObjectStatus status,
MoqtForwardingPreference forwarding_preference,
absl::string_view payload, bool end_of_message) {
EXPECT_EQ(full_track_name, ftn);
@@ -1153,7 +1154,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kDatagram,
/*payload_length=*/8,
@@ -1162,7 +1163,7 @@
0x65, 0x61, 0x64, 0x62, 0x65, 0x65, 0x66};
EXPECT_CALL(visitor_,
OnObjectFragment(ftn, object.group_id, object.object_id,
- object.object_send_order, object.object_status,
+ object.publisher_priority, object.object_status,
object.forwarding_preference, payload, true))
.Times(1);
session_.OnDatagramReceived(absl::string_view(datagram, sizeof(datagram)));
@@ -1178,7 +1179,7 @@
/*track_alias=*/2,
/*group_sequence=*/0,
/*object_sequence=*/0,
- /*object_send_order=*/0,
+ /*publisher_priority=*/0,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kGroup,
/*payload_length=*/8,
diff --git a/quiche/quic/moqt/moqt_track.h b/quiche/quic/moqt/moqt_track.h
index 3fefee5..37636b7 100644
--- a/quiche/quic/moqt/moqt_track.h
+++ b/quiche/quic/moqt/moqt_track.h
@@ -10,6 +10,7 @@
#include "absl/strings/string_view.h"
#include "quiche/quic/moqt/moqt_messages.h"
+#include "quiche/quic/moqt/moqt_priority.h"
namespace moqt {
@@ -27,7 +28,7 @@
std::optional<absl::string_view> error_reason_phrase) = 0;
virtual void OnObjectFragment(
const FullTrackName& full_track_name, uint64_t group_sequence,
- uint64_t object_sequence, uint64_t object_send_order,
+ uint64_t object_sequence, MoqtPriority publisher_priority,
MoqtObjectStatus object_status,
MoqtForwardingPreference forwarding_preference,
absl::string_view object, bool end_of_message) = 0;
diff --git a/quiche/quic/moqt/test_tools/moqt_test_message.h b/quiche/quic/moqt/test_tools/moqt_test_message.h
index 2c2c323..c4f4976 100644
--- a/quiche/quic/moqt/test_tools/moqt_test_message.h
+++ b/quiche/quic/moqt/test_tools/moqt_test_message.h
@@ -135,8 +135,8 @@
QUIC_LOG(INFO) << "OBJECT Object Sequence mismatch";
return false;
}
- if (cast.object_send_order != object_.object_send_order) {
- QUIC_LOG(INFO) << "OBJECT Object Send Order mismatch";
+ if (cast.publisher_priority != object_.publisher_priority) {
+ QUIC_LOG(INFO) << "OBJECT Publisher Priority mismatch";
return false;
}
if (cast.object_status != object_.object_status) {
@@ -164,7 +164,7 @@
/*track_alias=*/4,
/*group_id*/ 5,
/*object_id=*/6,
- /*object_send_order=*/7,
+ /*publisher_priority=*/7,
/*object_status=*/MoqtObjectStatus::kNormal,
/*forwarding_preference=*/MoqtForwardingPreference::kTrack,
/*payload_length=*/std::nullopt,
@@ -178,9 +178,7 @@
object_.forwarding_preference = MoqtForwardingPreference::kObject;
}
- void ExpandVarints() override {
- ExpandVarintsImpl("vvvvvvv---"); // first six fields are varints
- }
+ void ExpandVarints() override { ExpandVarintsImpl("vvvvv-v---"); }
private:
uint8_t raw_packet_[10] = {
@@ -196,9 +194,7 @@
object_.forwarding_preference = MoqtForwardingPreference::kDatagram;
}
- void ExpandVarints() override {
- ExpandVarintsImpl("vvvvvvv---"); // first six fields are varints
- }
+ void ExpandVarints() override { ExpandVarintsImpl("vvvvv-v---"); }
private:
uint8_t raw_packet_[10] = {
@@ -218,9 +214,7 @@
object_.payload_length = 3;
}
- void ExpandVarints() override {
- ExpandVarintsImpl("--vvvvvv"); // six one-byte varints
- }
+ void ExpandVarints() override { ExpandVarintsImpl("--vv-vvv"); }
private:
// Some tests check that a FIN sent at the halfway point of a message results
@@ -265,9 +259,7 @@
object_.payload_length = 3;
}
- void ExpandVarints() override {
- ExpandVarintsImpl("--vvvvvv"); // six one-byte varints
- }
+ void ExpandVarints() override { ExpandVarintsImpl("--vvv-vv"); }
private:
uint8_t raw_packet_[11] = {
diff --git a/quiche/quic/moqt/tools/chat_client_bin.cc b/quiche/quic/moqt/tools/chat_client_bin.cc
index a344a7d..5792b87 100644
--- a/quiche/quic/moqt/tools/chat_client_bin.cc
+++ b/quiche/quic/moqt/tools/chat_client_bin.cc
@@ -27,6 +27,7 @@
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/moqt/moqt_messages.h"
#include "quiche/quic/moqt/moqt_outgoing_queue.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/quic/moqt/moqt_session.h"
#include "quiche/quic/moqt/moqt_track.h"
#include "quiche/quic/moqt/tools/moqt_client.h"
@@ -155,7 +156,7 @@
void OnObjectFragment(
const moqt::FullTrackName& full_track_name, uint64_t group_sequence,
- uint64_t object_sequence, uint64_t /*object_send_order*/,
+ uint64_t object_sequence, moqt::MoqtPriority /*publisher_priority*/,
moqt::MoqtObjectStatus /*status*/,
moqt::MoqtForwardingPreference /*forwarding_preference*/,
absl::string_view object, bool end_of_message) override {
diff --git a/quiche/quic/moqt/tools/moqt_ingestion_server_bin.cc b/quiche/quic/moqt/tools/moqt_ingestion_server_bin.cc
index eec2b5b..01d010d 100644
--- a/quiche/quic/moqt/tools/moqt_ingestion_server_bin.cc
+++ b/quiche/quic/moqt/tools/moqt_ingestion_server_bin.cc
@@ -29,6 +29,7 @@
#include "absl/time/clock.h"
#include "absl/time/time.h"
#include "quiche/quic/moqt/moqt_messages.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/quic/moqt/moqt_session.h"
#include "quiche/quic/moqt/moqt_track.h"
#include "quiche/quic/moqt/tools/moqt_server.h"
@@ -166,7 +167,7 @@
void OnObjectFragment(const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t /*object_send_order*/,
+ MoqtPriority /*publisher_priority*/,
MoqtObjectStatus /*status*/,
MoqtForwardingPreference /*forwarding_preference*/,
absl::string_view object,
diff --git a/quiche/quic/moqt/tools/moqt_mock_visitor.h b/quiche/quic/moqt/tools/moqt_mock_visitor.h
index 3dc5741..5ab728a 100644
--- a/quiche/quic/moqt/tools/moqt_mock_visitor.h
+++ b/quiche/quic/moqt/tools/moqt_mock_visitor.h
@@ -13,6 +13,7 @@
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/moqt/moqt_messages.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/quic/moqt/moqt_publisher.h"
#include "quiche/quic/moqt/moqt_session.h"
#include "quiche/quic/moqt/moqt_track.h"
@@ -60,6 +61,7 @@
MOCK_METHOD(FullSequence, GetLargestSequence, (), (const, override));
MOCK_METHOD(MoqtForwardingPreference, GetForwardingPreference, (),
(const, override));
+ MOCK_METHOD(MoqtPriority, GetPublisherPriority, (), (const, override));
private:
FullTrackName track_name_;
@@ -73,7 +75,7 @@
(override));
MOCK_METHOD(void, OnObjectFragment,
(const FullTrackName& full_track_name, uint64_t group_sequence,
- uint64_t object_sequence, uint64_t object_send_order,
+ uint64_t object_sequence, MoqtPriority publisher_priority,
MoqtObjectStatus status,
MoqtForwardingPreference forwarding_preference,
absl::string_view object, bool end_of_message),
diff --git a/quiche/quic/moqt/tools/moqt_simulator_bin.cc b/quiche/quic/moqt/tools/moqt_simulator_bin.cc
index 6aa5d01..7a2eb30 100644
--- a/quiche/quic/moqt/tools/moqt_simulator_bin.cc
+++ b/quiche/quic/moqt/tools/moqt_simulator_bin.cc
@@ -26,6 +26,7 @@
#include "quiche/quic/moqt/moqt_known_track_publisher.h"
#include "quiche/quic/moqt/moqt_messages.h"
#include "quiche/quic/moqt/moqt_outgoing_queue.h"
+#include "quiche/quic/moqt/moqt_priority.h"
#include "quiche/quic/moqt/moqt_session.h"
#include "quiche/quic/moqt/moqt_track.h"
#include "quiche/quic/moqt/test_tools/moqt_simulator_harness.h"
@@ -157,7 +158,7 @@
void OnObjectFragment(const FullTrackName& full_track_name,
uint64_t group_sequence, uint64_t object_sequence,
- uint64_t /*object_send_order*/,
+ MoqtPriority /*publisher_priority*/,
MoqtObjectStatus /*status*/,
MoqtForwardingPreference /*forwarding_preference*/,
absl::string_view object,