Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ported interleaving support to System.IO.Packaging #97898

Merged
merged 12 commits into from
Jul 16, 2024

Commits on Feb 2, 2024

  1. Added interleaving support to System.IO.Packaging

    This is essentially KevinCathcart's work, with a test suite and changes required to ensure that these tests pass.
    edwardneal committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    e18c425 View commit details
    Browse the repository at this point in the history
  2. Removed reference to NuGet.Frameworks

    Also removed other unused "using" statements.
    edwardneal committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    c0b174a View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2024

  1. Changes following code review

    Removed use of string.CompareOrdinal when processing part pieces.
    Replaced byte allocations with ArrayPool Rent/Returns.
    Made InterleavedZipPackagePartStream use Spans instead of byte arrays. This has increased memory usage when .NET Framework calls Read(byte[], int, int) and Write(byte[], int, int).
    edwardneal committed Feb 4, 2024
    Configuration menu
    Copy the full SHA
    7d3217e View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2024

  1. Adjusted the compilation conditions for Read

    Split Read and ReadCore apart, so that a new Read(Span<byte>) method doesn't appear on the .NET Standard 2.0 path. Also adjusted the conditions from "NETCOREAPP2_1_OR_GREATER" to "!NETFRAMEWORK && !NETSTANDARD2_0", to align with the rest of .NET.
    edwardneal committed Feb 9, 2024
    Configuration menu
    Copy the full SHA
    d873e1b View commit details
    Browse the repository at this point in the history
  2. Moved the ArrayPool.Return calls into a finally block, for safety pur…

    …poses
    
    I can't see a simple way to do this in the Write() path - we rent and return across some loop iterations
    edwardneal committed Feb 9, 2024
    Configuration menu
    Copy the full SHA
    ca3ecfe View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. Changes following second round of code review

    * Corrections to comments and spacing.
    * Switched to the use of an EndOfStreamException in the correct situation.
    * Adjusted the SeekUnderlyingPieceStream method to slightly tweak the mechanism and to make use of a readBuffer which might be larger than BufferSize.
    * Small refactor of part piece deletion.
    edwardneal committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    e921812 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2024

  1. Configuration menu
    Copy the full SHA
    1d68f98 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Configuration menu
    Copy the full SHA
    fd6283b View commit details
    Browse the repository at this point in the history
  2. Replaced InternalsVisibleTo

    This was only used to reference ZipPackagePartPiece.TryParse and .Index, so switched the tests to use reflection.
    edwardneal committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    80b2c48 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Code review

    * Using exception helpers for .NET
    * Removing #regions
    * Fixing nullability in references to ZipPackagePartPiece.PieceDescriptors
    * Spacing/spelling/grammar changes to comments
    edwardneal committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    9519dc1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a82adfc View commit details
    Browse the repository at this point in the history
  3. Swapped conditional compilation to newer form

    Replaced references to NETFRAMEWORK and NETSTANDARD2_0 with NET and !NET as appropriate.
    edwardneal committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    ad6b1f2 View commit details
    Browse the repository at this point in the history