update_engine: Apply PUFFDIFF operation
This patch adds operation for applying PUFFDIFF operation. As long as
the minor version is not increased, this patch will not be directly
used.
This patch sets the cache requirement for PUFFDIFF operation to 5MB as it has
been selected for now from sample data below:
Update from ToT(R64) to veyron-minnie-R63-9928.0.0
Cache Size (MB) - Time to Update (minutes)
no-puffdiff 0:04:20
50 0:05:30
20 0:06:40
10 0:09:10
5 0:11:00
3 0:13:40
2 0:15:45
1 0:19:30
BUG=chromium:717785
TEST=brillo_update_payload verify passes; unittests pass;
CQ-DEPEND=CL:722452
Change-Id: I481481d40ef9df6412782198e3c97deb3997cc2e
Reviewed-on: https://chromium-review.googlesource.com/658297
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Sen Jiang <senj@chromium.org>
diff --git a/payload_consumer/delta_performer.h b/payload_consumer/delta_performer.h
index 5fc972b..8aa036e 100644
--- a/payload_consumer/delta_performer.h
+++ b/payload_consumer/delta_performer.h
@@ -261,6 +261,8 @@
ErrorCode* error);
bool PerformSourceBsdiffOperation(const InstallOperation& operation,
ErrorCode* error);
+ bool PerformPuffDiffOperation(const InstallOperation& operation,
+ ErrorCode* error);
// Extracts the payload signature message from the blob on the |operation| if
// the offset matches the one specified by the manifest. Returns whether the