Skip to content
Snippets Groups Projects
Commit 135cc036 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

made the speedcheck actually work again

parent f6163b37
No related branches found
No related tags found
No related merge requests found
......@@ -174,6 +174,7 @@ _Transfer(struct connectdata *c_conn)
#define KEEP_WRITE 2
pgrsTime(data, TIMER_PRETRANSFER);
speedinit(data);
if (!conn->getheader) {
header = FALSE;
......
......@@ -50,21 +50,24 @@
#include "sendf.h"
#include "speedcheck.h"
void speedinit(struct UrlData *data)
{
memset(&data->keeps_speed, 0, sizeof(struct timeval));
}
CURLcode speedcheck(struct UrlData *data,
struct timeval now)
{
static struct timeval keeps_speed;
if((data->current_speed >= 0) &&
if((data->progress.current_speed >= 0) &&
data->low_speed_time &&
(tvlong(keeps_speed) != 0) &&
(data->current_speed < data->low_speed_limit)) {
(tvlong(data->keeps_speed) != 0) &&
(data->progress.current_speed < data->low_speed_limit)) {
/* We are now below the "low speed limit". If we are below it
for "low speed time" seconds we consider that enough reason
to abort the download. */
if( tvdiff(now, keeps_speed) > data->low_speed_time) {
if( tvdiff(now, data->keeps_speed) > data->low_speed_time) {
/* we have been this slow for long enough, now die */
failf(data,
"Operation too slow. "
......@@ -76,7 +79,7 @@ CURLcode speedcheck(struct UrlData *data,
}
else {
/* we keep up the required speed all right */
keeps_speed = now;
data->keeps_speed = now;
}
return CURLE_OK;
}
......
......@@ -44,6 +44,7 @@
#include "timeval.h"
void speedinit(struct UrlData *data);
CURLcode speedcheck(struct UrlData *data,
struct timeval now);
......
......@@ -503,6 +503,8 @@ struct UrlData {
#ifdef KRB4
FILE *cmdchannel;
#endif
struct timeval keeps_speed; /* this should be request-specific */
};
#define LIBCURL_NAME "libcurl"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment