Skip to content

Commit

Permalink
Merge pull request #1626 from private-octopus/create-bbr1-entry
Browse files Browse the repository at this point in the history
Save a copy of BBR1 and make it available
  • Loading branch information
huitema authored Jan 30, 2024
2 parents b00935a + a707cc6 commit f51b3f9
Show file tree
Hide file tree
Showing 11 changed files with 1,289 additions and 1 deletion.
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

0 comments on commit f51b3f9

Please sign in to comment.