mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Nicolas Pitre](/assets/img/avatar_default.png)
The throughput display needs a delay period before accounting and displaying anything. Yet it might be called after some amount of data has already been transferred. The display of total data is therefore accounted late and therefore smaller than the reality. Let's call display_throughput() with an absolute amount of transferred data instead of a relative number, and let the throughput code find the relative amount of data by itself as needed. This way the displayed total is always exact. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
27 lines
659 B
C
27 lines
659 B
C
#ifndef CSUM_FILE_H
|
|
#define CSUM_FILE_H
|
|
|
|
struct progress;
|
|
|
|
/* A SHA1-protected file */
|
|
struct sha1file {
|
|
int fd, error;
|
|
unsigned int offset, namelen;
|
|
SHA_CTX ctx;
|
|
off_t total;
|
|
struct progress *tp;
|
|
char name[PATH_MAX];
|
|
int do_crc;
|
|
uint32_t crc32;
|
|
unsigned char buffer[8192];
|
|
};
|
|
|
|
extern struct sha1file *sha1fd(int fd, const char *name);
|
|
extern struct sha1file *sha1fd_throughput(int fd, const char *name, struct progress *tp);
|
|
extern int sha1close(struct sha1file *, unsigned char *, int);
|
|
extern int sha1write(struct sha1file *, void *, unsigned int);
|
|
extern void crc32_begin(struct sha1file *);
|
|
extern uint32_t crc32_end(struct sha1file *);
|
|
|
|
#endif
|