Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Save a copy of BBR1 and make it available #1626

Merged
merged 4 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ endif()

set(PICOQUIC_LIBRARY_FILES
picoquic/bbr.c
picoquic/bbr1.c
picoquic/bytestream.c
picoquic/cc_common.c
picoquic/config.c
Expand Down
7 changes: 7 additions & 0 deletions UnitTest1/unittest1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1847,6 +1847,13 @@ namespace UnitTest1
Assert::AreEqual(ret, 0);
}

TEST_METHOD(bbr1)
{
int ret = bbr1_test();

Assert::AreEqual(ret, 0);
}

TEST_METHOD(l4s_reno)
{
int ret = l4s_reno_test();
Expand Down
1,265 changes: 1,265 additions & 0 deletions picoquic/bbr1.c

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions picoquic/picoquic.h
Original file line number Diff line number Diff line change
Expand Up @@ -1428,6 +1428,7 @@ extern picoquic_congestion_algorithm_t* picoquic_dcubic_algorithm;
extern picoquic_congestion_algorithm_t* picoquic_fastcc_algorithm;
extern picoquic_congestion_algorithm_t* picoquic_bbr_algorithm;
extern picoquic_congestion_algorithm_t* picoquic_prague_algorithm;
extern picoquic_congestion_algorithm_t* picoquic_bbr1_algorithm;

#define PICOQUIC_DEFAULT_CONGESTION_ALGORITHM picoquic_newreno_algorithm;

Expand Down
1 change: 1 addition & 0 deletions picoquic/picoquic.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="bbr1.c" />
<ClCompile Include="bytestream.c" />
<ClCompile Include="cc_common.c" />
<ClCompile Include="config.c" />
Expand Down
3 changes: 3 additions & 0 deletions picoquic/picoquic.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@
<ClCompile Include="picoquic_mbedtls.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="bbr1.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="picoquic.h">
Expand Down
2 changes: 1 addition & 1 deletion picoquic/picoquic_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ extern "C" {
#define PICOQUIC_CC_ALGO_NUMBER_FAST 4
#define PICOQUIC_CC_ALGO_NUMBER_BBR 5
#define PICOQUIC_CC_ALGO_NUMBER_PRAGUE 6

#define PICOQUIC_CC_ALGO_NUMBER_BBR1 7

#define PICOQUIC_MAX_ACK_RANGE_REPEAT 4
#define PICOQUIC_MIN_ACK_RANGE_REPEAT 2
Expand Down
3 changes: 3 additions & 0 deletions picoquic/quicctx.c
Original file line number Diff line number Diff line change
Expand Up @@ -4460,6 +4460,9 @@ picoquic_congestion_algorithm_t const* picoquic_get_congestion_algorithm(char co
else if (strcmp(alg_name, "prague") == 0) {
alg = picoquic_prague_algorithm;
}
else if (strcmp(alg_name, "bbr1") == 0) {
alg = picoquic_bbr1_algorithm;
}
else {
alg = NULL;
}
Expand Down
1 change: 1 addition & 0 deletions picoquic_t/picoquic_t.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,7 @@ static const picoquic_test_def_t test_table[] = {
{ "bbr_asym100", bbr_asym100_test },
{ "bbr_asym100_nodelay", bbr_asym100_nodelay_test },
{ "bbr_asym400", bbr_asym400_test },
{ "bbr1", bbr1_test },
{ "l4s_reno", l4s_reno_test },
{ "l4s_prague", l4s_prague_test },
{ "long_rtt", long_rtt_test },
Expand Down
1 change: 1 addition & 0 deletions picoquictest/picoquictest.h
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ int bbr_long_test();
int bbr_performance_test();
int bbr_slow_long_test();
int bbr_one_second_test();
int bbr1_test();
int gbps_performance_test();
int bbr_asym100_test();
int bbr_asym100_nodelay_test();
Expand Down
5 changes: 5 additions & 0 deletions picoquictest/tls_api_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -9073,6 +9073,11 @@ int bbr_long_test()
return ret;
}

int bbr1_test()
{
return congestion_control_test(picoquic_bbr_algorithm, 3600000, 0, 0);
}

/* Performance test.
* Check a variety of challenging scenarios
*/
Expand Down
Loading