Fixed progress message.
parent
458e832990
commit
51dbfcb24c
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue