From f35146e48edca6755e98749a2cb5cc00272d308b Mon Sep 17 00:00:00 2001 From: Samuel Huang Date: Thu, 21 Jun 2018 15:50:22 +0000 Subject: [Zucchini] Refactor Zucchini-gen in zucchini_io layer. This CL moves Zucchini-gen invocation code from zucchini_commands.cc (in target zucchini) to zucchini_integration.cc (in target zucchini_io) to clean up layering in Zucchini API, i.e.: - zucchini_lib: Operates on buffers only. - zucchini_io: Adds files interface, uses memory-mapped I/O. - zucchini: Stand-alone executable that parses command-line arguments. Other changes: - Rename zucchini_lib functions (zuchcini.h), to dedup names and emphasize that these functions operate on buffers: - GenerateEnsemble() -> GenerateBuffer(), - GenerateEnsembleWithImposedMatches() -> GenerateBufferImposed(), - GenerateRaw() -> GenerateBufferRaw(), - Apply() -> ApplyBuffer(). These renames only affect Zucchini and various tests. - Variable renames and parameter reordering in zucchini_integration.cc. - Remove '-dd' param in help text of Zucchini-detect (was never ported from Trunk, and has been recently deleted there as well). - Replace all base::File&& with base::File. - Miscellaneous cleanup for header include. - Update README.md. Change-Id: I835b80d4d3d7b291fa822a7a89dab225bf9171e9 Reviewed-on: https://chromium-review.googlesource.com/1105625 Reviewed-by: Samuel Huang Reviewed-by: Greg Thompson Commit-Queue: Samuel Huang Cr-Commit-Position: refs/heads/master@{#569274} NOKEYCHECK=True GitOrigin-RevId: 9f0f325d6e2595deb8d50c77e0464946f3bf1ec1 --- zucchini.h | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'zucchini.h') diff --git a/zucchini.h b/zucchini.h index e9093eb..9847440 100644 --- a/zucchini.h +++ b/zucchini.h @@ -11,7 +11,11 @@ #include "components/zucchini/patch_reader.h" #include "components/zucchini/patch_writer.h" -// Definitions, structures, and interfaces for the Zucchini library. +// Core Zucchini library, consisting of: +// - Global constants. +// - Patch gen and apply functions, where "old" and "new" data are represented +// as buffers, and patch data represented as EnsemblePatchWriter or +// EnsemblePatchReader. namespace zucchini { @@ -36,9 +40,9 @@ enum Code { // Generates ensemble patch from |old_image| to |new_image| using the default // element detection and matching heuristics, writes the results to // |patch_writer|, and returns a status::Code. -status::Code GenerateEnsemble(ConstBufferView old_image, - ConstBufferView new_image, - EnsemblePatchWriter* patch_writer); +status::Code GenerateBuffer(ConstBufferView old_image, + ConstBufferView new_image, + EnsemblePatchWriter* patch_writer); // Same as GenerateEnsemble(), but if |imposed_matches| is non-empty, then // overrides default element detection and matching heuristics with custom @@ -46,23 +50,22 @@ status::Code GenerateEnsemble(ConstBufferView old_image, // "#+#=#+#,#+#=#+#,..." (e.g., "1+2=3+4", "1+2=3+4,5+6=7+8"), // where "#+#=#+#" encodes a match as 4 unsigned integers: // [offset in "old", size in "old", offset in "new", size in "new"]. -status::Code GenerateEnsembleWithImposedMatches( - ConstBufferView old_image, - ConstBufferView new_image, - std::string imposed_matches, - EnsemblePatchWriter* patch_writer); +status::Code GenerateBufferImposed(ConstBufferView old_image, + ConstBufferView new_image, + std::string imposed_matches, + EnsemblePatchWriter* patch_writer); // Generates raw patch from |old_image| to |new_image|, and writes it to // |patch_writer|. -status::Code GenerateRaw(ConstBufferView old_image, - ConstBufferView new_image, - EnsemblePatchWriter* patch_writer); +status::Code GenerateBufferRaw(ConstBufferView old_image, + ConstBufferView new_image, + EnsemblePatchWriter* patch_writer); // Applies |patch_reader| to |old_image| to build |new_image|, which refers to // preallocated memory of sufficient size. -status::Code Apply(ConstBufferView old_image, - const EnsemblePatchReader& patch_reader, - MutableBufferView new_image); +status::Code ApplyBuffer(ConstBufferView old_image, + const EnsemblePatchReader& patch_reader, + MutableBufferView new_image); } // namespace zucchini -- cgit v1.2.3