Commit 17d31b38 authored by David Dykstra's avatar David Dykstra

Changed --stats implementation to work without -v in only these two

situations:
    1. the client is the receiver of files.  Can't do it otherwise yet
	because without -v the bytes written from the sender's generator
	process will not be counted.
    2. both the remote and local protocol versions are >=20.  I did not
	change the protocol version yet because it is such a minor change
	that it isn't worth it, although I did test it with the protocol
	version set to 20.
If neither of the situations hold, it prints a message saying to use -v.
parent a8b9d4ed
......@@ -34,14 +34,18 @@ static void report(int f)
extern int am_sender;
extern int am_daemon;
extern int do_stats;
extern int remote_version;
int send_stats;
if (am_daemon) {
log_exit(0, __FILE__, __LINE__);
if (f == -1 || !am_sender) return;
}
send_stats = verbose ||
((remote_version >= 20) && (PROTOCOL_VERSION >= 20));
if (am_server) {
if (verbose && am_sender) {
if (am_sender && send_stats) {
int64 w;
/* store total_written in a temporary
because write_longint changes it */
......@@ -55,12 +59,7 @@ static void report(int f)
/* this is the client */
if (!am_sender && verbose) {
/* note that if (!verbose && do_stats) then these values will
be taken from the receiver side's copy. The total size
is identical but the bytes read and written are slightly
different. It's done this way to avoid modifying the
protocol to support --stats without -v. */
if (!am_sender && send_stats) {
int64 r;
stats.total_written = read_longint(f);
/* store total_read in a temporary, read_longint changes it */
......@@ -70,6 +69,12 @@ static void report(int f)
}
if (do_stats) {
if (!am_sender && !send_stats) {
/* missing the bytes written by the generator */
rprintf(FINFO, "\nCannot show stats as receiver because protocol version is less than 20\n");
rprintf(FINFO, "Use --stats -v to show stats\n");
return;
}
rprintf(FINFO,"\nNumber of files: %d\n", stats.num_files);
rprintf(FINFO,"Number of files transferred: %d\n",
stats.num_transferred_files);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment