Revert "prioritize direct download for non existing redirections"

This reverts commit 4b97101f747e114253467ce4568cbced18f4c2d1.

This patch is broken, cli->path refers to the absolute file, not
the chunks, and it should check for this->state, not cli->state.
master
tiptorrent development team 2021-09-25 21:12:35 +02:00
parent 8e939e3905
commit 6a81079dc1
1 changed files with 3 additions and 22 deletions

View File

@ -352,21 +352,6 @@ void tip_client_pending(struct tip_client *cli)
cli->state = TIP_CLIENT_PENDING;
}
static bool tip_direct_download_in_progress(const struct tip_client *cli)
{
struct tip_client *this;
list_for_each_entry(this, &client_list, list) {
if (cli->addr.sin_addr.s_addr == this->addr.sin_addr.s_addr)
continue;
if (cli->state != TIP_CLIENT_PENDING &&
!strcmp(cli->path, this->path))
return true;
}
return false;
}
void tip_client_activate_pending(bool redirect_only)
{
struct tip_client *cli, *next;
@ -376,13 +361,9 @@ void tip_client_activate_pending(bool redirect_only)
if (cli->state != TIP_CLIENT_PENDING)
continue;
redirected = tip_client_redirect(cli);
if (!redirected) {
if (redirect_only)
continue;
/* another client is fetching this file from server, skip. */
if (tip_direct_download_in_progress(cli))
continue;
}
if (!redirected && redirect_only)
continue;
ev_io_set(&cli->io, tip_client_socket(cli), EV_READ | EV_WRITE);
ev_io_start(tip_main_loop, &cli->io);
ev_timer_again(tip_main_loop, &cli->timer);