Table of Contents

Namespace Archiver.Core.IO

Classes

Crc32

Standalone CRC-32 (ISO 3309 / ZIP polynomial 0xEDB88320) — Archiver.Core takes no NuGet dependencies, so System.IO.Hashing.Crc32 is not an option, and Crc32 only exposes the value stored in the entry's header; .NET does not verify it against the decompressed bytes on read. Public (not internal) so Archiver.App's FileItem can reuse it for the pending-list CRC-32 column instead of adding a second implementation or a hashing NuGet package there.

TempOwner

T-F263/T-F312: the one owner of the names of Pakko's temporary files and folders. A name holds its owner as "m<machine>-<pid>-<start ticks>" (the start time tells a reused process id apart). A run creates its names fresh and removes them itself; a sweep at the start of the next operation in the same folder removes what a killed run left.

Structs

Crc32.Accumulator

Running CRC-32 state for computing a hash incrementally across chunks read from a stream that is simultaneously being piped elsewhere (e.g. into a compressor) — used by Services.Zip.ZipEntryWriter so uncompressed bytes are hashed in the same single read pass as compression, instead of requiring a second full read of the source file.

FolderTotals

T-F236: the size of a folder tree, measured with the engines' own walk (Archiver.Core.IO.DirectoryWalker): links are not followed and an unreadable subfolder adds nothing instead of failing the whole count.