copilot-swe-agent[bot]
4a6e5232ae
Add opt-in multi-threading support with SupportsMultiThreadedExtraction flag
...
- Added IArchive.SupportsMultiThreadedExtraction property to indicate if multi-threading is supported
- Added ReaderOptions.EnableMultiThreadedExtraction option to opt-in to multi-threading
- Updated SeekableZipFilePart, TarFilePart, and SeekableFilePart to check the flag
- Added test to verify multi-threading flag behavior
- Multi-threading is now disabled by default for backward compatibility
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-18 16:27:59 +00:00
copilot-swe-agent[bot]
3e23a6e5a6
Add multi-threading support for file-based archives - sync test passing
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-18 16:09:54 +00:00
Adam Hathcock
ec310c87de
merge fixes and fmt
2026-01-15 15:20:52 +00:00
Adam Hathcock
c55a383112
Merge remote-tracking branch 'origin/master' into adam/async-again
...
# Conflicts:
# tests/SharpCompress.Test/GZip/GZipReaderAsyncTests.cs
# tests/SharpCompress.Test/Rar/RarArchiveAsyncTests.cs
# tests/SharpCompress.Test/SevenZip/SevenZipArchiveAsyncTests.cs
# tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs
# tests/SharpCompress.Test/Tar/TarReaderAsyncTests.cs
# tests/SharpCompress.Test/Zip/Zip64AsyncTests.cs
# tests/SharpCompress.Test/Zip/ZipMemoryArchiveWithCrcAsyncTests.cs
2026-01-15 15:18:05 +00:00
Adam Hathcock
7fbd751d27
change tests to work
2026-01-15 13:00:05 +00:00
Adam Hathcock
85b28dfe68
more refactoring
2026-01-15 12:20:35 +00:00
Adam Hathcock
779fba5deb
finish the open refactor?
2026-01-15 12:06:54 +00:00
Adam Hathcock
2756b1f6f8
more refactor
2026-01-15 11:55:56 +00:00
Adam Hathcock
7b76858ae1
refactoring naming again
2026-01-15 11:41:30 +00:00
Adam Hathcock
84b5b5a717
add more tests
2026-01-14 14:33:20 +00:00
Adam Hathcock
ebfa16f09f
more test fixes
2026-01-14 14:12:53 +00:00
Adam Hathcock
c1d240b516
Fix more tests
2026-01-14 14:06:39 +00:00
Adam Hathcock
c32f4b4f2a
fix test reference
2026-01-14 08:33:49 +00:00
Adam Hathcock
ca4cf25a1f
clean up lazy readonly collections and add tests
2026-01-13 16:39:55 +00:00
Adam Hathcock
4fa976b478
remove unused ref
2026-01-13 15:29:02 +00:00
Adam Hathcock
767f3a4985
fix up extensions to more like polyfills
2026-01-13 15:26:45 +00:00
Adam Hathcock
a1a86cdde8
fmt
2026-01-13 14:29:10 +00:00
Adam Hathcock
fc85f1fa2c
more tar async fixes
2026-01-13 14:28:45 +00:00
Adam Hathcock
0b8081f320
gzip fixes
2026-01-13 14:24:36 +00:00
Adam Hathcock
0b5371d986
more async fixing
2026-01-13 14:06:14 +00:00
Adam Hathcock
cdca909d84
fmt
2026-01-13 13:58:31 +00:00
Adam Hathcock
1c0183ef11
force async tests
2026-01-13 13:56:56 +00:00
Adam Hathcock
9cf2b3129c
fixed up async writer
2026-01-13 13:54:15 +00:00
Adam Hathcock
0502ff545e
test fixes and fmt
2026-01-12 15:01:29 +00:00
Adam Hathcock
fce4a96718
make Writable interfaces for archive
2026-01-12 14:57:13 +00:00
Adam Hathcock
38203fb950
Fix async reader variable types - Remove double await on ReaderFactory.OpenAsync and use IAsyncReader
...
- Removed 'await' keyword before ReaderFactory.OpenAsync() calls since the method returns IAsyncReader directly (not Task)
- Changed ZipReader.Open() to ReaderFactory.OpenAsync() in Zip64AsyncTests.ReadForwardOnlyAsync()
- Changed TarReader.Open() to ReaderFactory.OpenAsync() in TarReaderAsyncTests.Tar_BZip2_Entry_Stream_Async()
- Fixed EntryStream disposal from 'await using' to 'using' since EntryStream doesn't implement IAsyncDisposable
- These changes fix compilation errors where async methods were being called on IReader (synchronous) instead of IAsyncReader (asynchronous)
2026-01-12 14:14:46 +00:00
Adam Hathcock
c1f8580d89
Remove unnecessary ValueTask wrappers from async factory methods
...
Change return types from ValueTask<T> to direct interface types (IAsyncArchive, IAsyncReader, IWriter) for wrapper methods that don't perform async work. This eliminates unnecessary async state machine allocations while maintaining the same public API behavior.
Changes:
- Interface definitions: Updated IArchiveFactory, IMultiArchiveFactory, IReaderFactory, IWriterFactory
- Concrete factories: Updated archive factories (Zip, Tar, Rar, GZip, SevenZip) and reader-only factories (Ace, Arc, Arj)
- Static factory methods: Updated ReaderFactory, ArchiveFactory, WriterFactory to use new signatures
- Archive classes: Updated static OpenAsync methods in ZipArchive, TarArchive, RarArchive, SevenZipArchive, GZipArchive
- Supporting changes: Updated Factory.cs and async polyfills
Performance benefit: Reduced GC pressure by eliminating unnecessary state machine overhead for non-async wrapper methods.
2026-01-12 13:16:44 +00:00
Adam Hathcock
c5a6f900df
Merge branch 'adam/async' into adam/async-interface
2026-01-12 13:02:51 +00:00
Adam Hathcock
d2f328af01
Merge pull request #1126 from adamhathcock/copilot/sub-pr-1121-another-one
...
Fix typo in TestBase.cs comment
2026-01-12 12:10:11 +00:00
Adam Hathcock
c3ffcf4fe8
Merge pull request #1125 from adamhathcock/copilot/sub-pr-1121-again
...
[WIP] Update ZipReader and ZipWriter based on review feedback
2026-01-12 12:09:42 +00:00
copilot-swe-agent[bot]
95c409d979
Change File.Create to File.OpenWrite in TarReaderAsyncTests for consistency
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:09:12 +00:00
Adam Hathcock
05ebf22009
Start using the interface to draw distinction between async and sync
2026-01-12 12:08:25 +00:00
copilot-swe-agent[bot]
921cff00a5
Fix async test method naming: rename Sync to Async
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:08:09 +00:00
copilot-swe-agent[bot]
64a09eb0f8
Fix typo in TestBase.cs comment: 'akways' -> 'always'
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:06:47 +00:00
Adam Hathcock
3fb07d129f
Use async dispose always
2026-01-12 10:19:01 +00:00
Adam Hathcock
a35e65ee42
use ifdefs for creating files?
2026-01-08 16:52:23 +00:00
Adam Hathcock
17cd934b5b
use async methods where we can
2026-01-08 16:24:11 +00:00
Adam Hathcock
ae614cd3fe
update references
2026-01-08 16:14:40 +00:00
Adam Hathcock
bdcc1d32c2
fix scratch dir creation
2026-01-08 14:01:35 +00:00
Adam Hathcock
4f0a2e3c95
disable zip64 tests
2026-01-08 12:55:16 +00:00
Adam Hathcock
3747a27109
Task to ValueTask
2026-01-08 12:35:12 +00:00
Adam Hathcock
b501bac54a
better names for new interfaces
2026-01-08 12:02:26 +00:00
Adam Hathcock
7aec98d652
read async interface for reader
2026-01-08 11:28:15 +00:00
Adam Hathcock
8e42296c3a
switch Task to ValueTask
2026-01-08 10:22:53 +00:00
Adam Hathcock
60e5220bd0
fmt
2026-01-08 09:41:48 +00:00
Adam Hathcock
0f37cbfd0b
archive async path uses new async interface
2026-01-08 09:39:04 +00:00
Adam Hathcock
541fd136d5
IArchiveAsync
2026-01-08 09:14:46 +00:00
Adam Hathcock
60d42ca9c3
fmt
2026-01-07 16:38:48 +00:00
Adam Hathcock
ac0716ddeb
write testing
2026-01-07 15:01:04 +00:00
Adam Hathcock
fbce3e77ba
Merge branch 'master' into adam/async
...
# Conflicts:
# src/SharpCompress/Utility.cs
2026-01-07 12:11:19 +00:00