Manually enable BBRv1 for MOQ.
PiperOrigin-RevId: 831951160
diff --git a/quiche/quic/moqt/moqt_quic_config.cc b/quiche/quic/moqt/moqt_quic_config.cc
index 358fbcf..415eba4 100644
--- a/quiche/quic/moqt/moqt_quic_config.cc
+++ b/quiche/quic/moqt/moqt_quic_config.cc
@@ -40,10 +40,10 @@
config.SetInitialSessionFlowControlWindowToSend(
kDefaultInitialConnectionWindow);
- // Enable a workaround for a BBRv1 issue that MOQT can hit often.
+ // Enable BBRv1 along with a workaround for an issue that MOQT can hit often.
SetQuicReloadableFlag(quic_bbr_exit_startup_on_loss, true);
- config.AddConnectionOptionsToSend({quic::kB1AL});
- config.SetClientConnectionOptions({quic::kB1AL});
+ config.AddConnectionOptionsToSend({quic::kTBBR, quic::kB1AL});
+ config.SetClientConnectionOptions({quic::kTBBR, quic::kB1AL});
}
quic::QuicConfig GenerateQuicConfig() {
diff --git a/quiche/quic/moqt/test_tools/moqt_simulator.h b/quiche/quic/moqt/test_tools/moqt_simulator.h
index c930c51..af88bb7 100644
--- a/quiche/quic/moqt/test_tools/moqt_simulator.h
+++ b/quiche/quic/moqt/test_tools/moqt_simulator.h
@@ -210,6 +210,9 @@
quic::QuicSession* client_quic_session() {
return client_endpoint_.quic_session();
}
+ quic::QuicSession* server_quic_session() {
+ return server_endpoint_.quic_session();
+ }
std::string GetClientSessionCongestionControl();
diff --git a/quiche/quic/moqt/test_tools/moqt_simulator_test.cc b/quiche/quic/moqt/test_tools/moqt_simulator_test.cc
index 6553e01..f09e973 100644
--- a/quiche/quic/moqt/test_tools/moqt_simulator_test.cc
+++ b/quiche/quic/moqt/test_tools/moqt_simulator_test.cc
@@ -6,7 +6,9 @@
#include "quiche/quic/core/quic_bandwidth.h"
#include "quiche/quic/core/quic_connection_stats.h"
+#include "quiche/quic/core/quic_session.h"
#include "quiche/quic/core/quic_time.h"
+#include "quiche/quic/core/quic_types.h"
#include "quic_trace/quic_trace.pb.h"
#include "quiche/common/platform/api/quiche_test.h"
@@ -27,6 +29,14 @@
return count;
}
+quic::CongestionControlType GetCongestionControlType(
+ const quic::QuicSession& session) {
+ return session.connection()
+ ->sent_packet_manager()
+ .GetSendAlgorithm()
+ ->GetCongestionControlType();
+}
+
// Ensure the simulation works with default parameters.
TEST_F(MoqtSimulatorTest, DefaultSettings) {
MoqtSimulator simulator(SimulationParameters{});
@@ -35,6 +45,11 @@
EXPECT_EQ(CountEventType(simulator.client_trace(),
EventType::MOQT_TARGET_BITRATE_SET),
0);
+
+ EXPECT_EQ(GetCongestionControlType(*simulator.client_quic_session()),
+ quic::CongestionControlType::kBBR);
+ EXPECT_EQ(GetCongestionControlType(*simulator.server_quic_session()),
+ quic::CongestionControlType::kBBR);
}
// Ensure that the bitrate adaptation down works.