Commit 23c5aef1 authored by David Dykstra's avatar David Dykstra

A slight compensation I had just added for total bytes read when using -v

was incorrect.  It's hard to tell how many bytes are actually read because
transferring the value changes it and depending on its value it may
transfer 4 or 12 bytes so instead change the sender side to not include the
length of the counters it sends at all (it had been including one but three
are sent).
parent e19452a9
......@@ -42,8 +42,12 @@ static void report(int f)
if (am_server) {
if (verbose && am_sender) {
int64 w;
/* store total_written in a temporary
because write_longint changes it */
w = stats.total_written;
write_longint(f,stats.total_read);
write_longint(f,stats.total_written);
write_longint(f,w);
write_longint(f,stats.total_size);
}
return;
......@@ -57,15 +61,12 @@ static void report(int f)
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. */
int64 r;
stats.total_written = read_longint(f);
stats.total_read = read_longint(f);
/* store total_read in a temporary, read_longint changes it */
r = read_longint(f);
stats.total_size = read_longint(f);
/* when the total_read was set above just now it would not
have included the last two longints, but the last
read_longint would have compensated for one of them.
Compensate for the other one too by adding 8. */
stats.total_read += sizeof(int64);
stats.total_read = r;
}
if (do_stats) {
......
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