hdiff-update-core 0.2.0

Core library for signed, transactional HDiffPatch directory updates.
Documentation
//! Core library for signed HDiffPatch-based differential application updates.
//!
//! The crate contains manifest selection, Ed25519 signing and verification,
//! hashing, downloads, and process wrappers for `hdiffz` and `hpatchz`.
//! It does not bundle HDiffPatch binaries.

mod directory_manifest;
mod directory_update;
mod download;
mod error;
mod fs_ops;
mod hash;
mod manifest;
mod security;
mod tool;
mod tree;
mod version;

pub use directory_manifest::{
    DirectoryDelta, DirectoryPlatformRelease, DirectoryUpdateManifest, DIRECTORY_UPDATE_ALGORITHM,
    DIRECTORY_UPDATE_SCHEMA_VERSION,
};
pub use directory_update::{
    load_directory_update_manifest, prepare_directory_update, read_directory_manifest_file,
    read_directory_transaction, write_directory_transaction, write_json_file_atomic,
    DirectoryTransactionState, DirectoryUpdateTransaction, PrepareDirectoryUpdateOptions,
    PreparedDirectoryUpdate, PreparedDirectoryUpdateKind,
};
pub use download::{
    download_to_file, read_url_to_string, DownloadEvent, DownloadStats, HttpHeader,
};
pub use error::{Error, Result};
pub use fs_ops::ensure_available_space;
pub use hash::{sha256_bytes, sha256_file, verify_sha256, FileDigest};
pub use manifest::{default_platform, Artifact, ManifestSignature, MANIFEST_SIGNATURE_ALGORITHM};
pub use security::{
    generate_update_keypair, public_key_id, sign_directory_manifest,
    verify_directory_manifest_signature, verify_directory_manifest_signature_with_keys,
    UpdateKeypair,
};
pub use tool::{
    apply_directory_patch, create_directory_patch, inspect_diff, resolve_tool_path,
    ApplyDirectoryPatchOptions, CreateDirectoryPatchOptions, DirectoryPatchApplyResult,
    DirectoryPatchCreateResult, ToolOutput, DEFAULT_DIRECTORY_ALGORITHM,
};
pub use tree::{
    build_file_tree_manifest, copy_managed_tree, normalize_managed_paths, normalize_relative_path,
    path_for_manifest_entry, validate_file_tree_manifest, verify_file_tree, FileTreeManifest,
    TreeFile, TreeVerification,
};
pub use version::validate_version_upgrade;