Skip to content

Refactor Differential: Abstract interfaces for pluggable differs and compression #258

@JusterZhu

Description

@JusterZhu

Summary

Extract core abstractions from GeneralUpdate.Differential to enable pluggable binary diff algorithms and compression providers.

Scope

  • \IBinaryDiffer\ — abstract binary diff (Clean/Dirty)
  • \ICompressionProvider\ — abstract compression (replace hardcoded BZip2)
  • Refactor \BinaryHandler\ to implement \IBinaryDiffer, keeping existing BSDIFF logic intact
  • Keep backward compatibility with existing \DifferentialCore\ API surface

Motivation

Currently BinaryHandler hardcodes BSDIFF algorithm + BZip2 compression. This prevents optimizing for different scenarios (smaller patches, faster decompression, streaming for large files).

Part of the Differential v2 refactor series:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions