mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-09 10:00:57 +03:00
Differentiate ACK_FREQUENCY policy early in connection.
Summary: This changes the experimental behavior of BBR sending ACK_FREQUENCY frames. Now instead of using the static ack eliciting threshold, early in the connection BBR will set the threshold to 2 which has been empirically shown to be a good "initial" value. Reviewed By: jbeshay Differential Revision: D40438721 fbshipit-source-id: 184b8025581b6152eea97f9b557b6343d980322d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
5ed1febddc
commit
c8f357156e
@@ -4805,11 +4805,11 @@ TEST_F(QuicServerTransportTest, TestAckFrequencyPolicyKnobHandler) {
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"1,1,1"}});
|
||||
"1,1,1,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"10,3,1"}});
|
||||
"10,3,1,1"}});
|
||||
ASSERT_TRUE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
EXPECT_EQ(
|
||||
server->getTransportSettings()
|
||||
@@ -4823,31 +4823,35 @@ TEST_F(QuicServerTransportTest, TestAckFrequencyPolicyKnobHandler) {
|
||||
server->getTransportSettings()
|
||||
.bbrConfig.ackFrequencyConfig->minRttDivisor,
|
||||
1);
|
||||
EXPECT_EQ(
|
||||
server->getTransportSettings()
|
||||
.bbrConfig.ackFrequencyConfig->useSmallThresholdDuringStartup,
|
||||
true);
|
||||
server->getNonConstConn()
|
||||
.transportSettings.bbrConfig.ackFrequencyConfig.reset();
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"10,3,-1"}});
|
||||
"10,3,-1,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"10,-1,1"}});
|
||||
"10,-1,1,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"-1,3,1"}});
|
||||
"-1,3,1,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"10,3,0"}});
|
||||
"10,3,0,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"10,1,1"}});
|
||||
"10,1,1,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
server->handleKnobParams(
|
||||
{{static_cast<uint64_t>(TransportKnobParamId::ACK_FREQUENCY_POLICY),
|
||||
"1,3,1"}});
|
||||
"1,3,1,1"}});
|
||||
EXPECT_FALSE(server->getTransportSettings().bbrConfig.ackFrequencyConfig);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user