mirror of
https://github.com/curl/curl.git
synced 2026-08-25 08:03:34 +03:00
getinfo: add CURLINFO_POSTTRANSFER_TIME_T
Returns the time, in microseconds, from the start until the last byte is sent by libcurl (i.e. the request is sent off). Closes #14189
This commit is contained in:
parent
c0233a35da
commit
136504195a
18 changed files with 123 additions and 9 deletions
|
|
@ -53,6 +53,7 @@ CURLcode Curl_initinfo(struct Curl_easy *data)
|
|||
pro->t_connect = 0;
|
||||
pro->t_appconnect = 0;
|
||||
pro->t_pretransfer = 0;
|
||||
pro->t_posttransfer = 0;
|
||||
pro->t_starttransfer = 0;
|
||||
pro->timespent = 0;
|
||||
pro->t_redirect = 0;
|
||||
|
|
@ -368,6 +369,7 @@ static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,
|
|||
case CURLINFO_CONNECT_TIME_T:
|
||||
case CURLINFO_APPCONNECT_TIME_T:
|
||||
case CURLINFO_PRETRANSFER_TIME_T:
|
||||
case CURLINFO_POSTTRANSFER_TIME_T:
|
||||
case CURLINFO_STARTTRANSFER_TIME_T:
|
||||
case CURLINFO_REDIRECT_TIME_T:
|
||||
case CURLINFO_SPEED_DOWNLOAD_T:
|
||||
|
|
@ -418,6 +420,9 @@ static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,
|
|||
case CURLINFO_PRETRANSFER_TIME_T:
|
||||
*param_offt = data->progress.t_pretransfer;
|
||||
break;
|
||||
case CURLINFO_POSTTRANSFER_TIME_T:
|
||||
*param_offt = data->progress.t_posttransfer;
|
||||
break;
|
||||
case CURLINFO_STARTTRANSFER_TIME_T:
|
||||
*param_offt = data->progress.t_starttransfer;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ void Curl_pgrsTimeWas(struct Curl_easy *data, timerid timer,
|
|||
break;
|
||||
}
|
||||
case TIMER_POSTRANSFER:
|
||||
/* this is the normal end-of-transfer thing */
|
||||
delta = &data->progress.t_posttransfer;
|
||||
break;
|
||||
case TIMER_REDIRECT:
|
||||
data->progress.t_redirect = Curl_timediff_us(timestamp,
|
||||
|
|
|
|||
|
|
@ -258,6 +258,7 @@ CURLcode Curl_req_set_upload_done(struct Curl_easy *data)
|
|||
data->req.upload_done = TRUE;
|
||||
data->req.keepon &= ~(KEEP_SEND|KEEP_SEND_TIMED); /* we are done sending */
|
||||
|
||||
Curl_pgrsTime(data, TIMER_POSTRANSFER);
|
||||
Curl_creader_done(data, data->req.upload_aborted);
|
||||
|
||||
if(data->req.upload_aborted) {
|
||||
|
|
|
|||
|
|
@ -1091,6 +1091,7 @@ struct Progress {
|
|||
timediff_t t_connect;
|
||||
timediff_t t_appconnect;
|
||||
timediff_t t_pretransfer;
|
||||
timediff_t t_posttransfer;
|
||||
timediff_t t_starttransfer;
|
||||
timediff_t t_redirect;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue