Fixed progress message.

master
Harald Wolff 2022-08-19 20:05:46 +02:00
parent 458e832990
commit 51dbfcb24c
1 changed files with 11 additions and 2 deletions

View File

@ -15,6 +15,7 @@ int bs_transfer_start(bs_engine_t *engine){
int bs_transfer_thread(bs_engine_t *engine){
bs_msg_buffer_t *msg;
int count_blocks = (int)(engine->file.size / engine->parameters.blocksize);
int changed_blocks;
engine->state_flags |= BSS_TRANSFER;
@ -28,7 +29,15 @@ int bs_transfer_thread(bs_engine_t *engine){
merkle_get_row(engine->merkle.local, engine->merkle.local->parameters.depth, &local_hashes, &local_hashes_length);
merkle_get_row(engine->merkle.remote, engine->merkle.remote->parameters.depth, &remote_hashes, &remote_hashes_length);
fprintf(stdout, "transfering blocks (%d / %d / %d)\n", count_blocks, local_hashes_length, remote_hashes_length);
for (int n=0;n<count_blocks;n++) {
uint64_t local_hash = local_hashes[n];
uint64_t remote_hash = remote_hashes[n];
if (remote_hash && (remote_hash != local_hash))
changed_blocks++;
}
fprintf(stdout, "transfering blocks %d of %d blocks need to be transfered (%d%%).\n", changed_blocks, count_blocks, 100 * changed_blocks / count_blocks);
fflush(stdout);
for (int n=0;n<count_blocks;n++) {
@ -52,7 +61,7 @@ int bs_transfer_thread(bs_engine_t *engine){
memcpy(msg->payload, &engine->file.mmap[offset], size);
bs_comm_send_msg(engine, msg);
bs_progress_update(engine, BSS_TRANSFER, n, count_blocks);
bs_progress_update(engine, BSS_TRANSFER, n, changed_blocks);
}
}