[PR #565] [CLOSED] On ongoing branch of making everything async #1102

Open
opened 2026-01-29 22:19:00 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/adamhathcock/sharpcompress/pull/565
Author: @adamhathcock
Created: 2/1/2021
Status: Closed

Base: masterHead: async


📝 Commits (10+)

📊 Changes

121 files changed (+3044 additions, -2920 deletions)

View changed files

📝 src/SharpCompress/Archives/AbstractArchive.cs (+46 -74)
📝 src/SharpCompress/Archives/AbstractWritableArchive.cs (+51 -45)
📝 src/SharpCompress/Archives/ArchiveFactory.cs (+31 -27)
📝 src/SharpCompress/Archives/GZip/GZipArchive.cs (+60 -49)
📝 src/SharpCompress/Archives/GZip/GZipArchiveEntry.cs (+4 -2)
📝 src/SharpCompress/Archives/GZip/GZipWritableArchiveEntry.cs (+6 -4)
📝 src/SharpCompress/Archives/IArchive.cs (+10 -15)
📝 src/SharpCompress/Archives/IArchiveEntry.cs (+3 -1)
📝 src/SharpCompress/Archives/IArchiveEntryExtensions.cs (+22 -25)
📝 src/SharpCompress/Archives/IArchiveExtensions.cs (+8 -4)
src/SharpCompress/Archives/IArchiveExtractionListener.cs (+0 -11)
📝 src/SharpCompress/Archives/IWritableArchive.cs (+6 -4)
📝 src/SharpCompress/Archives/IWritableArchiveExtensions.cs (+23 -18)
📝 src/SharpCompress/Archives/Tar/TarArchive.cs (+55 -48)
📝 src/SharpCompress/Archives/Tar/TarArchiveEntry.cs (+4 -2)
📝 src/SharpCompress/Archives/Tar/TarWritableArchiveEntry.cs (+6 -4)
📝 src/SharpCompress/Archives/Zip/ZipArchive.cs (+75 -54)
📝 src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs (+4 -2)
📝 src/SharpCompress/Archives/Zip/ZipWritableArchiveEntry.cs (+6 -4)
src/SharpCompress/AsyncEnumerable.cs (+25 -0)

...and 80 more files

📄 Description

  • Use ReadAsync/WriteAsync on every stream
  • Use CancelationToken (drop Listener interface?)
  • Use ValueToken (need to find better Task.Completed version)
  • Use IAsyncDisposable (drop IDispose as it mostly doesn't apply)
  • Use IAsyncEnumerable
  • Some usage of Memory/Span. Usage of MemoryPool seem good but don't want to completely convert yet.
  • More?

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/adamhathcock/sharpcompress/pull/565 **Author:** [@adamhathcock](https://github.com/adamhathcock) **Created:** 2/1/2021 **Status:** ❌ Closed **Base:** `master` ← **Head:** `async` --- ### 📝 Commits (10+) - [`3a820c5`](https://github.com/adamhathcock/sharpcompress/commit/3a820c52bd4136464ec03850e81fa382752df435) async Deflate. Start of writer - [`bcdfd99`](https://github.com/adamhathcock/sharpcompress/commit/bcdfd992a37cddde1613b29a7330ef8f82c07132) async dispose and fix tests? - [`2b4f029`](https://github.com/adamhathcock/sharpcompress/commit/2b4f02997ede997f94bdc74ca465e1dc33963d7f) more async await - [`9cf8a3d`](https://github.com/adamhathcock/sharpcompress/commit/9cf8a3dbbe97db981494d0a2cac709a969023e7a) more awaits - [`cdba5ec`](https://github.com/adamhathcock/sharpcompress/commit/cdba5ec4194ead2a238c57628ed3d19bf9c7d5c1) AsyncEnumerable usage in entries - [`d234f2d`](https://github.com/adamhathcock/sharpcompress/commit/d234f2d5095fbed0748e65f6cc705cf6cc31ab60) First pass of trying tar - [`7d2dc58`](https://github.com/adamhathcock/sharpcompress/commit/7d2dc58766f0e163129852ac9282f48cd33717fe) More API fixes - [`c6a011d`](https://github.com/adamhathcock/sharpcompress/commit/c6a011df178d2fc8bd6b28c0aee6e649c5247758) Fixed reader issue - [`9738b81`](https://github.com/adamhathcock/sharpcompress/commit/9738b812c4b355a53fbf7ac06217585a63ea20f0) Fix rewindable stream and encoding tests - [`f40d334`](https://github.com/adamhathcock/sharpcompress/commit/f40d3342c8145b7f7e201ed62001e31ef834a79c) Tar and Xz mostly work ### 📊 Changes **121 files changed** (+3044 additions, -2920 deletions) <details> <summary>View changed files</summary> 📝 `src/SharpCompress/Archives/AbstractArchive.cs` (+46 -74) 📝 `src/SharpCompress/Archives/AbstractWritableArchive.cs` (+51 -45) 📝 `src/SharpCompress/Archives/ArchiveFactory.cs` (+31 -27) 📝 `src/SharpCompress/Archives/GZip/GZipArchive.cs` (+60 -49) 📝 `src/SharpCompress/Archives/GZip/GZipArchiveEntry.cs` (+4 -2) 📝 `src/SharpCompress/Archives/GZip/GZipWritableArchiveEntry.cs` (+6 -4) 📝 `src/SharpCompress/Archives/IArchive.cs` (+10 -15) 📝 `src/SharpCompress/Archives/IArchiveEntry.cs` (+3 -1) 📝 `src/SharpCompress/Archives/IArchiveEntryExtensions.cs` (+22 -25) 📝 `src/SharpCompress/Archives/IArchiveExtensions.cs` (+8 -4) ➖ `src/SharpCompress/Archives/IArchiveExtractionListener.cs` (+0 -11) 📝 `src/SharpCompress/Archives/IWritableArchive.cs` (+6 -4) 📝 `src/SharpCompress/Archives/IWritableArchiveExtensions.cs` (+23 -18) 📝 `src/SharpCompress/Archives/Tar/TarArchive.cs` (+55 -48) 📝 `src/SharpCompress/Archives/Tar/TarArchiveEntry.cs` (+4 -2) 📝 `src/SharpCompress/Archives/Tar/TarWritableArchiveEntry.cs` (+6 -4) 📝 `src/SharpCompress/Archives/Zip/ZipArchive.cs` (+75 -54) 📝 `src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs` (+4 -2) 📝 `src/SharpCompress/Archives/Zip/ZipWritableArchiveEntry.cs` (+6 -4) ➕ `src/SharpCompress/AsyncEnumerable.cs` (+25 -0) _...and 80 more files_ </details> ### 📄 Description - Use ReadAsync/WriteAsync on every stream - Use CancelationToken (drop Listener interface?) - Use ValueToken (need to find better Task.Completed version) - Use IAsyncDisposable (drop IDispose as it mostly doesn't apply) - Use IAsyncEnumerable - Some usage of Memory/Span. Usage of MemoryPool seem good but don't want to completely convert yet. - More? --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 22:19:00 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/sharpcompress#1102