Add congestion control algorithm option to command line

This commit is contained in:
Jop Zitman 2024-12-20 16:23:53 +08:00
parent c316cbe119
commit 3350be382c
4 changed files with 13 additions and 10 deletions

View file

@ -20,10 +20,11 @@ extern "C" {
int picoquic_slipstream_client(int listen_port, char const* resolver_addresses_filename, const char* domain_name);
int picoquic_slipstream_client(int listen_port, char const* resolver_addresses_filename, const char* domain_name,
const char* cc_algo_id);
int picoquic_slipstream_server(int server_port, const char* pem_cert, const char* pem_key, char const* upstream_name,
int upstream_port, const char* domain_name);
int upstream_port, const char* domain_name, const char* cc_algo_id);
#ifdef __cplusplus
}

View file

@ -34,25 +34,27 @@ int main(int argc, char** argv)
usage(argv[0]);
}
else if (strcmp(argv[1], "client") == 0) {
if (argc != 5) {
if (argc != 6) {
usage(argv[0]);
}
else {
int local_port = atoi(argv[2]);
char const* resolver_addresses_filename = argv[3];
const char* domain_name = argv[4];
exit_code = picoquic_slipstream_client(local_port, resolver_addresses_filename, domain_name);
const char* cc_algo_id = argv[5];
exit_code = picoquic_slipstream_client(local_port, resolver_addresses_filename, domain_name, cc_algo_id);
}
}
else if (strcmp(argv[1], "server") == 0) {
if (argc != 8) {
if (argc != 9) {
usage(argv[0]);
}
else {
int server_port = get_port(argv[0], argv[2]);
int remote_port = get_port(argv[0], argv[6]);
const char* domain_name = argv[7];
exit_code = picoquic_slipstream_server(server_port, argv[3], argv[4], argv[5], remote_port, domain_name);
const char* cc_algo_id = argv[8];
exit_code = picoquic_slipstream_server(server_port, argv[3], argv[4], argv[5], remote_port, domain_name, cc_algo_id);
}
}
else

View file

@ -735,7 +735,7 @@ static int slipstream_connect(struct sockaddr_storage* server_address,
return ret;
}
int picoquic_slipstream_client(int listen_port, char const* resolver_addresses_filename, const char* domain_name) {
int picoquic_slipstream_client(int listen_port, char const* resolver_addresses_filename, const char* domain_name, const char* cc_algo_id) {
/* Start: start the QUIC process */
int ret = 0;
uint64_t current_time = 0;
@ -760,7 +760,7 @@ int picoquic_slipstream_client(int listen_port, char const* resolver_addresses_f
config.mtu_max = mtu;
config.initial_send_mtu_ipv4 = mtu;
config.initial_send_mtu_ipv6 = mtu;
config.cc_algo_id = "cubic";
config.cc_algo_id = cc_algo_id;
config.multipath_option = 1;
config.use_long_log = 1;
config.do_preemptive_repeat = 1;

View file

@ -649,7 +649,7 @@ void server_sighandler(int signum) {
}
int picoquic_slipstream_server(int server_port, const char* server_cert, const char* server_key,
char const* upstream_name, int upstream_port, const char* domain_name) {
char const* upstream_name, int upstream_port, const char* domain_name, const char* cc_algo_id) {
/* Start: start the QUIC process with cert and key files */
int ret = 0;
uint64_t current_time = 0;
@ -679,7 +679,7 @@ int picoquic_slipstream_server(int server_port, const char* server_cert, const c
config.mtu_max = mtu;
config.initial_send_mtu_ipv4 = mtu;
config.initial_send_mtu_ipv6 = mtu;
config.cc_algo_id = "cubic";
config.cc_algo_id = cc_algo_id;
config.multipath_option = 1;
config.use_long_log = 1;
config.do_preemptive_repeat = 1;