aboutsummaryrefslogtreecommitdiff
path: root/zucchini.h
diff options
context:
space:
mode:
authorSamuel Huang <huangs@chromium.org>2018-06-21 15:50:22 +0000
committerCopybara-Service <copybara-worker@google.com>2021-07-25 19:59:48 -0700
commitf35146e48edca6755e98749a2cb5cc00272d308b (patch)
tree62e88698cbb4f79fea0f7b10326961b0f665e0a8 /zucchini.h
parent87dabe1110568bd11cd9044b1c5c49ab598bc2ad (diff)
downloadzucchini-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.h33
1 files changed, 18 insertions, 15 deletions
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