summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/sync.c
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-01-11 22:39:52 +0100
committerDan McGee <dan@archlinux.org>2012-01-19 05:10:06 +0100
commitb3612e9cc198f198b3806efa461bf6fc04dd4502 (patch)
tree85d6018836a02c4ed4cb1211d3ec73d34a2259c9 /lib/libalpm/sync.c
parent6e8ca48cbb22c328deab56b1740be04ea7ddba6e (diff)
downloadpacman-b3612e9cc198f198b3806efa461bf6fc04dd4502.tar.gz
pacman-b3612e9cc198f198b3806efa461bf6fc04dd4502.tar.xz
Allow UseDelta option to specify a delta ratio
Rework the frontend and backend to allow passing a ratio value in for UseDelta rather than having a hardcoded #define-d 0.7 value always used. This is useful for those with fast connections, who would likely benefit from tuning this ratio to lower values; it is also useful for general testing purposes. The libalpm API changes for this, but we do support the old config file format with a no-value 'UseDelta' option; in this case we simply use the old default of 0.7. We clamp the ratio values to a sane range between 0.0 and 2.0, allowing ratios above 1.0 for testing purposes. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/sync.c')
-rw-r--r--lib/libalpm/sync.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 49a3f42d..6967b49b 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -318,13 +318,13 @@ static int compute_download_size(alpm_pkg_t *newpkg)
/* tell the caller that we have a partial */
ret = 1;
- } else if(handle->usedelta) {
+ } else if(handle->deltaratio > 0.0) {
off_t dltsize;
dltsize = _alpm_shortest_delta_path(handle, newpkg->deltas,
newpkg->filename, &newpkg->delta_path);
- if(newpkg->delta_path && (dltsize < newpkg->size * MAX_DELTA_RATIO)) {
+ if(newpkg->delta_path && (dltsize < newpkg->size * handle->deltaratio)) {
_alpm_log(handle, ALPM_LOG_DEBUG, "using delta size\n");
size = dltsize;
} else {