update num_clients and redirection only for large files

Skip num_clients and redirection update for small files.
master
tiptorrent development team 2021-09-13 11:54:19 +02:00
parent cbcc71db72
commit 7a04638c32
2 changed files with 11 additions and 8 deletions

View File

@ -50,9 +50,10 @@ static void tip_client_release(struct ev_loop *loop, struct tip_client *cli)
free((void *)cli->path);
if (cli->method == TIP_METHOD_GET) {
num_clients--;
if (tip_client_large_file(cli))
if (tip_client_large_file(cli)) {
num_clients--;
tip_client_activate_pending();
}
}
free(cli);

View File

@ -107,13 +107,15 @@ int tip_client_state_process_payload(struct tip_client *cli)
return 0;
}
cli->allow_redirect = allow_redirect;
if (tip_client_large_file(cli)) {
cli->allow_redirect = allow_redirect;
num_clients++;
if (tip_client_large_file(cli) && num_clients > max_clients) {
if (!tip_client_redirect(cli)) {
tip_client_pending(cli);
return 1;
num_clients++;
if (num_clients > max_clients) {
if (!tip_client_redirect(cli)) {
tip_client_pending(cli);
return 1;
}
}
}