Adam Hathcock
5a319ffe2c
create/open always has to be async for detection
2026-02-12 10:18:43 +00:00
Adam Hathcock
04dd177f19
first pass of removing extraction options (folded into reader options)
2026-02-09 16:52:54 +00:00
Adam Hathcock
3b83d08e2a
fmt
2026-01-22 16:38:44 +00:00
Adam Hathcock
b622a2ce73
fix disposal and other simple issues
2026-01-22 16:38:35 +00:00
Adam Hathcock
b9ed2b09c1
fmt
2026-01-22 09:05:26 +00:00
Adam Hathcock
8df9232171
use extension where appropriate with more fixes
2026-01-21 16:57:25 +00:00
Adam Hathcock
8abb972f87
Fix test
2026-01-20 11:01:17 +00:00
copilot-swe-agent[bot]
2906529080
Fix ReaderFactory.OpenAsyncReader to use async IsArchiveAsync methods
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-16 09:12: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
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
0b8081f320
gzip fixes
2026-01-13 14:24:36 +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
05ebf22009
Start using the interface to draw distinction between async and sync
2026-01-12 12:08:25 +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
3747a27109
Task to ValueTask
2026-01-08 12:35:12 +00:00
Adam Hathcock
7aec98d652
read async interface for reader
2026-01-08 11:28:15 +00:00
Adam Hathcock
bb53d1e1c6
entrystream fixes and fmt
2025-10-29 08:41:05 +00:00
Adam Hathcock
aca97c2c6c
add rarcrc tests
2025-10-28 16:48:05 +00:00
Adam Hathcock
c696197b03
formatting
2025-10-27 10:19:24 +00:00
Adam Hathcock
fdca728fdc
add some dispose async
2025-10-27 09:47:15 +00:00