diff options
author | Samuel Huang <huangs@chromium.org> | 2018-06-21 15:50:22 +0000 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2021-07-25 19:59:48 -0700 |
commit | f35146e48edca6755e98749a2cb5cc00272d308b (patch) | |
tree | 62e88698cbb4f79fea0f7b10326961b0f665e0a8 /zucchini.h | |
parent | 87dabe1110568bd11cd9044b1c5c49ab598bc2ad (diff) | |
download | zucchini-f35146e48edca6755e98749a2cb5cc00272d308b.tar.gz |
[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 <huangs@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569274}
NOKEYCHECK=True
GitOrigin-RevId: 9f0f325d6e2595deb8d50c77e0464946f3bf1ec1
Diffstat (limited to 'zucchini.h')
-rw-r--r-- | zucchini.h | 33 |
1 files changed, 18 insertions, 15 deletions
@@ -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 |