diff options
author | Donovan Baarda <abo@minkirri.apana.org.au> | 2021-09-16 11:37:18 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-16 11:37:18 +1000 |
commit | d202e4eef208165aa7768ad15236e1cd1d6fae0c (patch) | |
tree | 7fe3f27a77873051d571b21880254fda9ab7e2cd /src/whole.c | |
parent | b8609e9fb1ca888c852f6a7cf5b96690098f94e1 (diff) | |
parent | c50bd630dde1c62c56cac0e917570a8c13173e07 (diff) | |
download | librsync-d202e4eef208165aa7768ad15236e1cd1d6fae0c.tar.gz |
Merge pull request #234 from dbaarda/dev/scoop1
Make delta directly process the input stream if it has enough data.
Diffstat (limited to 'src/whole.c')
-rw-r--r-- | src/whole.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/whole.c b/src/whole.c index 04777f8..e667f88 100644 --- a/src/whole.c +++ b/src/whole.c @@ -111,9 +111,9 @@ rs_result rs_delta_file(rs_signature_t *sig, FILE *new_file, FILE *delta_file, rs_result r; job = rs_delta_begin(sig); - /* Size inbuf for 1 block, outbuf for literal cmd + 4 blocks. */ - r = rs_whole_run(job, new_file, delta_file, sig->block_len, - 10 + 4 * sig->block_len); + /* Size inbuf for 4*(CMD + 1 block), outbuf for 4*CMD. */ + r = rs_whole_run(job, new_file, delta_file, + 4 * (MAX_DELTA_CMD + sig->block_len), 4 * MAX_DELTA_CMD); if (stats) memcpy(stats, &job->stats, sizeof *stats); rs_job_free(job); @@ -127,8 +127,9 @@ rs_result rs_patch_file(FILE *basis_file, FILE *delta_file, FILE *new_file, rs_result r; job = rs_patch_begin(rs_file_copy_cb, basis_file); - /* Default size inbuf and outbuf 64K. */ - r = rs_whole_run(job, delta_file, new_file, 64 * 1024, 64 * 1024); + /* Default size inbuf 1*CMD and outbuf 4*CMD. */ + r = rs_whole_run(job, delta_file, new_file, MAX_DELTA_CMD, + 4 * MAX_DELTA_CMD); if (stats) memcpy(stats, &job->stats, sizeof *stats); rs_job_free(job); |