mirror of
https://github.com/adamhathcock/sharpcompress.git
synced 2026-04-08 23:23:38 +00:00
[PR #1044] Unified progress reporting for compression and extraction operations #1474
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Original Pull Request: https://github.com/adamhathcock/sharpcompress/pull/1044
State: closed
Merged: Yes
Unified progress reporting for compression and extraction operations
Adds unified progress reporting support using the
IProgress<T>interface for both compression and extraction operations, similar to what 7-Zip's GUI provides.Changes Made
New Progress Reporting API
ProgressReportclass: Reports progress withEntryPath,BytesTransferred,TotalBytes, andPercentCompletepropertiesProgressReportingStream: Internal stream wrapper that tracks read operations and reports progressWriterOptions.Progress:IProgress<ProgressReport>?property for compression progressReaderOptions.Progress:IProgress<ProgressReport>?property for reader-based extraction progressIArchiveEntry.WriteTo/WriteToAsync: Now accept optionalIProgress<ProgressReport>?parameter for archive entry extraction progressRemoved Old Event-Based Progress Reporting
IExtractionListener,IReaderExtractionListener,IArchiveExtractionListenerinterfacesReaderProgress,ListeningStream,ArchiveExtractionEventArgsclassesCompressedBytesReadEventArgsandFilePartExtractionBeginEventArgsIArchiveandIReaderinterfacesMultiVolumeReadOnlyStream,RarArchiveEntry,RarReaderto remove listener dependenciesMerged from Master
Fixes #1027
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.