Namespace Archiver.Core.IO
Classes
- Crc32
Standalone CRC-32 (ISO 3309 / ZIP polynomial 0xEDB88320) — Archiver.Core takes no NuGet dependencies, so
System.IO.Hashing.Crc32is 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.ZipEntryWriterso 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.