Switch OnObjectAckReceived to use Location. PiperOrigin-RevId: 826630581
diff --git a/quiche/quic/moqt/moqt_bitrate_adjuster.cc b/quiche/quic/moqt/moqt_bitrate_adjuster.cc index 59e10b1..58079c4 100644 --- a/quiche/quic/moqt/moqt_bitrate_adjuster.cc +++ b/quiche/quic/moqt/moqt_bitrate_adjuster.cc
@@ -10,6 +10,7 @@ #include "quiche/quic/core/quic_bandwidth.h" #include "quiche/quic/core/quic_time.h" +#include "quiche/quic/moqt/moqt_messages.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" #include "quiche/common/platform/api/quiche_logging.h" #include "quiche/web_transport/web_transport.h" @@ -34,8 +35,7 @@ } void MoqtBitrateAdjuster::OnObjectAckReceived( - uint64_t /*group_id*/, uint64_t /*object_id*/, - QuicTimeDelta delta_from_deadline) { + Location /*location*/, QuicTimeDelta delta_from_deadline) { if (!start_time_.IsInitialized()) { return; }
diff --git a/quiche/quic/moqt/moqt_bitrate_adjuster.h b/quiche/quic/moqt/moqt_bitrate_adjuster.h index b3667b6..050e696 100644 --- a/quiche/quic/moqt/moqt_bitrate_adjuster.h +++ b/quiche/quic/moqt/moqt_bitrate_adjuster.h
@@ -11,6 +11,7 @@ #include "quiche/quic/core/quic_bandwidth.h" #include "quiche/quic/core/quic_clock.h" #include "quiche/quic/core/quic_time.h" +#include "quiche/quic/moqt/moqt_messages.h" #include "quiche/quic/moqt/moqt_session.h" #include "quiche/quic/moqt/moqt_trace_recorder.h" #include "quiche/web_transport/web_transport.h" @@ -73,7 +74,7 @@ // MoqtPublishingMonitorInterface implementation. void OnObjectAckSupportKnown( std::optional<quic::QuicTimeDelta> time_window) override; - void OnObjectAckReceived(uint64_t group_id, uint64_t object_id, + void OnObjectAckReceived(Location location, quic::QuicTimeDelta delta_from_deadline) override; MoqtTraceRecorder& trace_recorder() { return trace_recorder_; }
diff --git a/quiche/quic/moqt/moqt_bitrate_adjuster_test.cc b/quiche/quic/moqt/moqt_bitrate_adjuster_test.cc index 47ef36d..95be2b2 100644 --- a/quiche/quic/moqt/moqt_bitrate_adjuster_test.cc +++ b/quiche/quic/moqt/moqt_bitrate_adjuster_test.cc
@@ -6,6 +6,7 @@ #include "quiche/quic/core/quic_bandwidth.h" #include "quiche/quic/core/quic_time.h" +#include "quiche/quic/moqt/moqt_messages.h" #include "quiche/quic/test_tools/mock_clock.h" #include "quiche/common/platform/api/quiche_test.h" #include "quiche/web_transport/test_tools/mock_web_transport.h" @@ -75,7 +76,7 @@ for (int i = 0; i < 250; ++i) { clock_.AdvanceTime(kDefaultRtt); for (int j = 0; j < 10; ++j) { - adjuster_.OnObjectAckReceived(i, j, kDefaultRtt * 2); + adjuster_.OnObjectAckReceived(Location(i, j), kDefaultRtt * 2); } } } @@ -85,14 +86,16 @@ // First time will be skipped, since we aren't far enough into connection. EXPECT_CALL(adjustable_, OnBitrateAdjusted(_)).Times(0); - adjuster_.OnObjectAckReceived(0, 0, QuicTimeDelta::FromMilliseconds(-1)); + adjuster_.OnObjectAckReceived(Location(0, 0), + QuicTimeDelta::FromMilliseconds(-1)); clock_.AdvanceTime(100 * kDefaultRtt); EXPECT_CALL(adjustable_, OnBitrateAdjusted(_)) .WillOnce([](QuicBandwidth new_bitrate) { EXPECT_LT(new_bitrate, kDefaultBitrate); }); - adjuster_.OnObjectAckReceived(0, 1, QuicTimeDelta::FromMilliseconds(-1)); + adjuster_.OnObjectAckReceived(Location(0, 1), + QuicTimeDelta::FromMilliseconds(-1)); } TEST_F(MoqtBitrateAdjusterTest, AdjustDownTwice) { @@ -103,12 +106,14 @@ clock_.AdvanceTime(100 * kDefaultRtt); stats_.estimated_send_rate_bps = (0.5 * kDefaultBitrate).ToBitsPerSecond(); - adjuster_.OnObjectAckReceived(0, 0, QuicTimeDelta::FromMilliseconds(-1)); + adjuster_.OnObjectAckReceived(Location(0, 0), + QuicTimeDelta::FromMilliseconds(-1)); EXPECT_EQ(adjusted_times, 1); clock_.AdvanceTime(100 * kDefaultRtt); stats_.estimated_send_rate_bps = (0.25 * kDefaultBitrate).ToBitsPerSecond(); - adjuster_.OnObjectAckReceived(0, 1, QuicTimeDelta::FromMilliseconds(-1)); + adjuster_.OnObjectAckReceived(Location(0, 1), + QuicTimeDelta::FromMilliseconds(-1)); EXPECT_EQ(adjusted_times, 2); }
diff --git a/quiche/quic/moqt/moqt_integration_test.cc b/quiche/quic/moqt/moqt_integration_test.cc index 8831652..2b2ac7f 100644 --- a/quiche/quic/moqt/moqt_integration_test.cc +++ b/quiche/quic/moqt/moqt_integration_test.cc
@@ -746,13 +746,13 @@ client_->session()->SubscribeCurrentObject(full_track_name, &subscribe_visitor_, parameters); EXPECT_CALL(monitoring, OnObjectAckSupportKnown(parameters.oack_window_size)); - EXPECT_CALL( - monitoring, - OnObjectAckReceived(10, 20, quic::QuicTimeDelta::FromMicroseconds(-123))); + EXPECT_CALL(monitoring, + OnObjectAckReceived(Location(10, 20), + quic::QuicTimeDelta::FromMicroseconds(-123))); bool done = false; - EXPECT_CALL( - monitoring, - OnObjectAckReceived(100, 200, quic::QuicTimeDelta::FromMicroseconds(456))) + EXPECT_CALL(monitoring, + OnObjectAckReceived(Location(100, 200), + quic::QuicTimeDelta::FromMicroseconds(456))) .WillOnce([&] { done = true; }); bool success = test_harness_.RunUntilWithDefaultTimeout([&] { return done; }); EXPECT_TRUE(success);
diff --git a/quiche/quic/moqt/moqt_session.cc b/quiche/quic/moqt/moqt_session.cc index 4727d5b..de36144 100644 --- a/quiche/quic/moqt/moqt_session.cc +++ b/quiche/quic/moqt/moqt_session.cc
@@ -2665,7 +2665,8 @@ return; } monitoring_interface_->OnObjectAckReceived( - message.group_id, message.object_id, message.delta_from_deadline); + Location(message.group_id, message.object_id), + message.delta_from_deadline); } } // namespace moqt
diff --git a/quiche/quic/moqt/moqt_session.h b/quiche/quic/moqt/moqt_session.h index 8b719ba..acebb82 100644 --- a/quiche/quic/moqt/moqt_session.h +++ b/quiche/quic/moqt/moqt_session.h
@@ -66,7 +66,7 @@ virtual void OnObjectAckSupportKnown( std::optional<quic::QuicTimeDelta> time_window) = 0; - virtual void OnObjectAckReceived(uint64_t group_id, uint64_t object_id, + virtual void OnObjectAckReceived(Location location, quic::QuicTimeDelta delta_from_deadline) = 0; };
diff --git a/quiche/quic/moqt/test_tools/moqt_mock_visitor.h b/quiche/quic/moqt/test_tools/moqt_mock_visitor.h index 97bb809..27c65ad 100644 --- a/quiche/quic/moqt/test_tools/moqt_mock_visitor.h +++ b/quiche/quic/moqt/test_tools/moqt_mock_visitor.h
@@ -212,8 +212,7 @@ MOCK_METHOD(void, OnObjectAckSupportKnown, (std::optional<quic::QuicTimeDelta> time_window), (override)); MOCK_METHOD(void, OnObjectAckReceived, - (uint64_t group_id, uint64_t object_id, - quic::QuicTimeDelta delta_from_deadline), + (Location location, quic::QuicTimeDelta delta_from_deadline), (override)); };