[pacman-dev] [PATCH] Implement TotalDownload functionality
Anatol Pomozov
anatol.pomozov at gmail.com
Tue Dec 8 20:06:00 UTC 2020
Hi
On Sun, Dec 6, 2020 at 9:46 AM Anatol Pomozov <anatol.pomozov at gmail.com> wrote:
> I need to localize this string. Will resend an updated patch for it.
I localized it in the v2 of the patch
> > > +
> > > +static void update_total_finalstats(void)
> > > +{
> > > + int64_t timediff;
> > > +
> > > + /* compute final values */
> > > + totalbar->xfered = totalbar->total_size;
> > > + timediff = get_time_ms() - totalbar->init_time;
> > > +
> > > + /* if transfer was too fast, treat it as a 1ms transfer, for the sake
> > > + * of the rate calculation */
> > > + if(timediff < 1)
> > > + timediff = 1;
> > > +
> > > + totalbar->rate = (double)totalbar->xfered * 1000 / timediff;
> > > + /* round elapsed time (in ms) to the nearest second */
> > > + totalbar->eta = (unsigned int)(timediff + 500) / 1000;
> > > +
> > > + console_cursor_move_end();
> > > + draw_pacman_progress_bar(totalbar);
> > > +}
> >
> > OK. I get the feeling that this and the above function are duplicating
> > a bit of code from normal progress bars. But a quick look leads me to
> > think it is not worth refactoring.
>
> These 2 functions (update and finalupdate for total bar) are slightly different.
> But there is some duplication in "update file" and "update total" bar
> logic. I can try to refactor and see if it makes things cleaner.
I refactored the code and introduced "update stats" and "update final
stats" functions that work both for "file progress" and "total
progress".
More information about the pacman-dev
mailing list