Skip to main content

delta/
lib.rs

1pub mod types;
2pub mod hash;
3pub mod encoding;
4pub mod splay;
5pub mod algorithm;
6pub mod apply;
7pub mod inplace;
8
9// Re-exports for convenience
10pub use types::{
11    Algorithm, Command, CyclePolicy, DeltaError, DeltaSummary, DiffOptions, PlacedCommand,
12    DELTA_ADD_HEADER, DELTA_BIGADD_HEADER, DELTA_BIGCOPY_PAYLOAD,
13    DELTA_BUF_CAP,
14    DELTA_CMD_ADD, DELTA_CMD_BIGADD, DELTA_CMD_BIGCOPY, DELTA_CMD_BIGMOVE,
15    DELTA_CMD_COPY, DELTA_CMD_END, DELTA_CMD_MOVE,
16    DELTA_COPY_PAYLOAD, DELTA_CRC_SIZE, DELTA_FLAG_INPLACE,
17    DELTA_HEADER_SIZE, DELTA_HEADER_SIZE_LARGE,
18    DELTA_MAGIC, DELTA_MAGIC_LARGE,
19    DELTA_U32_SIZE, DELTA_U64_SIZE,
20    HASH_BASE, HASH_MOD, MAX_TABLE_SIZE, SEED_LEN, TABLE_SIZE,
21};
22pub use hash::{crc64_xz, fingerprint, fp_to_index, is_prime, mod_mersenne, next_prime, precompute_bp, RollingHash};
23pub use encoding::{decode_delta, encode_delta, encode_delta_large, is_inplace_delta};
24pub use splay::SplayTree;
25pub use algorithm::{diff, diff_default};
26pub use algorithm::greedy::{diff_greedy, diff_greedy_default};
27pub use algorithm::onepass::{diff_onepass, diff_onepass_default};
28pub use algorithm::correcting::{diff_correcting, diff_correcting_default};
29pub use apply::{
30    apply_delta, apply_delta_inplace, apply_delta_to,
31    apply_placed_inplace_to, apply_placed_to, validate_placed_commands,
32    output_size, place_commands, unplace_commands,
33};
34pub use inplace::{make_inplace, InplaceStats};
35pub use types::{delta_summary, placed_summary};