mirror of
https://github.com/adamhathcock/sharpcompress.git
synced 2026-02-07 05:34:35 +00:00
Async and API #756
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?
Originally created by @adamhathcock on GitHub (Jan 13, 2026).
Originally assigned to: @adamhathcock on GitHub.
I've been just adding new Async implementations that mostly sit along side the older sync implementations. While I hate the duplication, it is what it is.
However, I have come to the conclusion that users should be guided down the Async path instead of the Sync path by interfaces:
IAsyncArchivevsIArchiveIAsyncReadervsIReaderIAsyncWritervsIWriterFor example, doing
OpenonArchiveFactoryorRarArchivereturns anIArchivenow instead ofRarArchiveand doingOpenAsyncreturnsIAsyncArchive. It's still aRarArchivebut the interfaces enforce the async vs sync implementations now.Questions:
Is this even good?
Should
OpenAsyncbe actually aValueTasksince dotnet naming wants that? Another naming scheme?I can close since it's being worked on to do this more breaking and proactive: https://github.com/adamhathcock/sharpcompress/issues/992
@adamhathcock commented on GitHub (Jan 15, 2026):
I think I'm gonna go with:
OpenAsyncArchiveandOpenArchiveinstead ofOpenAsyncandOpenIt's clearer and avoid's the convention of
Asyncmeaning the method is asynchronous@adamhathcock commented on GitHub (Jan 15, 2026):
Some follow up fixes and changes here: https://github.com/adamhathcock/sharpcompress/pull/1131