Home | History | Annotate | Download | only in lib

Lines Matching refs:progress

27 #include "progress.h"
128 pgrsUpdate() - show progress
137 data->progress.lastshow = 0;
142 if(!(data->progress.flags & PGRS_HIDE) &&
143 !data->progress.callback)
144 /* only output if we don't use a progress callback and we're not
148 data->progress.speeder_c = 0; /* reset the progress meter display */
174 data->progress.t_startop = now;
178 data->progress.t_startsingle = now;
179 data->progress.is_t_startransfer_set = false;
182 data->progress.t_acceptdata = now;
185 delta = &data->progress.t_nslookup;
188 delta = &data->progress.t_connect;
191 delta = &data->progress.t_appconnect;
194 delta = &data->progress.t_pretransfer;
197 delta = &data->progress.t_starttransfer;
204 if(data->progress.is_t_startransfer_set) {
208 data->progress.is_t_startransfer_set = true;
215 data->progress.t_redirect = Curl_timediff_us(now, data->progress.start);
219 timediff_t us = Curl_timediff_us(now, data->progress.t_startsingle);
228 data->progress.speeder_c = 0; /* reset the progress meter display */
229 data->progress.start = Curl_now();
230 data->progress.is_t_startransfer_set = false;
231 data->progress.ul_limit_start.tv_sec = 0;
232 data->progress.ul_limit_start.tv_usec = 0;
233 data->progress.dl_limit_start.tv_sec = 0;
234 data->progress.dl_limit_start.tv_usec = 0;
236 data->progress.flags &= PGRS_HIDE|PGRS_HEADERS_OUT;
290 data->progress.downloaded = size;
294 (Curl_pgrsLimitWaitTime(data->progress.downloaded,
295 data->progress.dl_limit_size,
297 data->progress.dl_limit_start,
299 data->progress.dl_limit_start = now;
300 data->progress.dl_limit_size = size;
308 data->progress.uploaded = size;
312 (Curl_pgrsLimitWaitTime(data->progress.uploaded,
313 data->progress.ul_limit_size,
315 data->progress.ul_limit_start,
317 data->progress.ul_limit_start = now;
318 data->progress.ul_limit_size = size;
325 data->progress.size_dl = size;
326 data->progress.flags |= PGRS_DL_SIZE_KNOWN;
329 data->progress.size_dl = 0;
330 data->progress.flags &= ~PGRS_DL_SIZE_KNOWN;
337 data->progress.size_ul = size;
338 data->progress.flags |= PGRS_UL_SIZE_KNOWN;
341 data->progress.size_ul = 0;
342 data->progress.flags &= ~PGRS_UL_SIZE_KNOWN;
348 * progress callback!
363 int nowindex = data->progress.speeder_c% CURR_TIME;
373 curl_off_t dl = data->progress.downloaded;
374 curl_off_t ul = data->progress.uploaded;
379 data->progress.timespent = Curl_timediff_us(now, data->progress.start);
380 timespent = (curl_off_t)data->progress.timespent/1000000; /* seconds */
381 timespent_ms = (curl_off_t)data->progress.timespent/1000; /* ms */
385 data->progress.dlspeed = (dl * 1000 / (timespent_ms>0?timespent_ms:1));
387 data->progress.dlspeed = (dl / (timespent>0?timespent:1));
391 data->progress.ulspeed = (ul * 1000 / (timespent_ms>0?timespent_ms:1));
393 data->progress.ulspeed = (ul / (timespent>0?timespent:1));
396 if(data->progress.lastshow != now.tv_sec) {
399 data->progress.lastshow = now.tv_sec;
403 data->progress.speeder[ nowindex ] =
404 data->progress.downloaded + data->progress.uploaded;
407 data->progress.speeder_time [ nowindex ] = now;
411 data->progress.speeder_c++;
417 countindex = ((data->progress.speeder_c >= CURR_TIME)?
418 CURR_TIME:data->progress.speeder_c) - 1;
427 checkindex = (data->progress.speeder_c >= CURR_TIME)?
428 data->progress.speeder_c%CURR_TIME:0;
432 data->progress.speeder_time[checkindex]);
438 curl_off_t amount = data->progress.speeder[nowindex]-
439 data->progress.speeder[checkindex];
444 data->progress.current_speed = (curl_off_t)
449 data->progress.current_speed = amount*CURL_OFF_T_C(1000)/span_ms;
454 data->progress.current_speed =
455 data->progress.ulspeed + data->progress.dlspeed;
459 if(!(data->progress.flags & PGRS_HIDE)) {
460 /* progress meter has not been shut off */
465 data->progress.size_dl,
466 data->progress.downloaded,
467 data->progress.size_ul,
468 data->progress.uploaded);
476 (double)data->progress.size_dl,
477 progress.downloaded,
478 (double)data->progress.size_ul,
479 (double)data->progress.uploaded);
486 /* only show the internal progress meter once per second */
490 progress */
492 if(!(data->progress.flags & PGRS_HEADERS_OUT)) {
503 data->progress.flags |= PGRS_HEADERS_OUT; /* headers are shown */
507 if((data->progress.flags & PGRS_UL_SIZE_KNOWN) &&
508 (data->progress.ulspeed > CURL_OFF_T_C(0))) {
509 ulestimate = data->progress.size_ul / data->progress.ulspeed;
511 if(data->progress.size_ul > CURL_OFF_T_C(10000))
512 ulpercen = data->progress.uploaded /
513 (data->progress.size_ul/CURL_OFF_T_C(100));
514 else if(data->progress.size_ul > CURL_OFF_T_C(0))
515 ulpercen = (data->progress.uploaded*100) /
516 data->progress.size_ul;
520 if((data->progress.flags & PGRS_DL_SIZE_KNOWN) &&
521 (data->progress.dlspeed > CURL_OFF_T_C(0))) {
522 dlestimate = data->progress.size_dl / data->progress.dlspeed;
524 if(data->progress.size_dl > CURL_OFF_T_C(10000))
525 dlpercen = data->progress.downloaded /
526 (data->progress.size_dl/CURL_OFF_T_C(100));
527 else if(data->progress.size_dl > CURL_OFF_T_C(0))
528 dlpercen = (data->progress.downloaded*100) /
529 data->progress.size_dl;
543 (data->progress.flags & PGRS_UL_SIZE_KNOWN?
544 data->progress.size_ul:data->progress.uploaded)+
545 (data->progress.flags & PGRS_DL_SIZE_KNOWN?
546 data->progress.size_dl:data->progress.downloaded);
549 total_transfer = data->progress.downloaded + data->progress.uploaded;
566 max5data(data->progress.downloaded, max5[0]), /* rcvd size */
568 max5data(data->progress.uploaded, max5[1]), /* xfer size */
569 max5data(data->progress.dlspeed, max5[3]), /* avrg dl speed */
570 max5data(data->progress.ulspeed, max5[4]), /* avrg ul speed */
574 max5data(data->progress.current_speed, max5[5]) /* current speed */
580 } /* !(data->progress.flags & PGRS_HIDE) */