1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-08-08 09:42:06 +03:00

jk gating for paused priority

Summary: As lnicco raised, this feature can raise possible "overload" concerns so for safety, add a JK knob to easily disable it if needed.

Reviewed By: mjoras, lnicco

Differential Revision: D70417454

fbshipit-source-id: b79fe59d09f8c547e55d7703ac1438cbded011cb
This commit is contained in:
Paul Farcasanu
2025-03-05 12:57:56 -08:00
committed by Facebook GitHub Bot
parent dc02bfd4b3
commit 7bd8a75b6f
4 changed files with 26 additions and 4 deletions

View File

@@ -2635,7 +2635,7 @@ TEST_F(QuicPacketSchedulerTest, RstStreamSchedulerReliableReset) {
EXPECT_FALSE(conn.pendingEvents.resets.contains(stream->id));
}
TEST_F(QuicPacketSchedulerTest, PausedPriorityInitial) {
TEST_F(QuicPacketSchedulerTest, PausedPriorityEnabled) {
static const auto kSequentialPriority = Priority(3, false);
static const auto kPausedPriority = Priority(0, false, 0, true /* paused */);
@@ -2669,6 +2669,26 @@ TEST_F(QuicPacketSchedulerTest, PausedPriorityInitial) {
ASSERT_FALSE(conn.streamManager->hasWritable());
}
TEST_F(QuicPacketSchedulerTest, PausedPriorityDisabled) {
static const auto kSequentialPriority = Priority(3, false);
static const auto kPausedPriority = Priority(0, false, 0, true /* paused */);
auto connPtr = createConn(10, 100000, 100000);
auto& conn = *connPtr;
conn.transportSettings.disablePausedPriority = true;
StreamFrameScheduler scheduler(conn);
auto pausedStreamId = createStream(conn, kPausedPriority);
auto regularStreamId = createStream(conn, kSequentialPriority);
auto pausedFrame = writeDataToStream(conn, pausedStreamId, "paused_data");
auto regularFrame = writeDataToStream(conn, regularStreamId, "regular_data");
auto builder = setupMockPacketBuilder();
scheduler.writeStreams(*builder);
verifyStreamFrames(*builder, {pausedFrame, regularFrame});
}
TEST_F(QuicPacketSchedulerTest, FixedShortHeaderPadding) {
QuicServerConnectionState conn(
FizzServerQuicHandshakeContext::Builder().build());