Skip to content

Async work #992

@adamhathcock

Description

@adamhathcock

Using AI, I'm converting things to have asynchronous overloads as well as tests for them.

Here's what I think I need to finish:

Stream Classes Needing Async Overloads

Summary

  • 36 classes need ReadAsync overload
  • 17 classes need WriteAsync overload
  • 37 total classes need async overloads (16 need both)

Validation Notes

This list excludes Stream classes where the Write method throws NotSupportedException or NotImplementedException, as these are read-only streams that don't need WriteAsync overloads.

Classes Needing ReadAsync

  • RarCryptoWrapper - src/SharpCompress/Common/Rar/RarCryptoWrapper.cs
  • FolderUnpackStream - src/SharpCompress/Common/SevenZip/ArchiveReader.cs
  • PkwareTraditionalCryptoStream - src/SharpCompress/Common/Zip/PkwareTraditionalCryptoStream.cs
  • WinzipAesCryptoStream - src/SharpCompress/Common/Zip/WinzipAesCryptoStream.cs
  • ADCStream - src/SharpCompress/Compressors/ADC/ADCStream.cs
  • ArcLzwStream - src/SharpCompress/Compressors/ArcLzw/ArcLzwStream.cs
  • BZip2Stream - src/SharpCompress/Compressors/BZip2/BZip2Stream.cs
  • CBZip2InputStream - src/SharpCompress/Compressors/BZip2/CBZip2InputStream.cs
  • CBZip2OutputStream - src/SharpCompress/Compressors/BZip2/CBZip2OutputStream.cs
  • ExplodeStream - src/SharpCompress/Compressors/Explode/ExplodeStream.cs
  • BCJ2Filter - src/SharpCompress/Compressors/Filters/BCJ2Filter.cs
  • Filter - src/SharpCompress/Compressors/Filters/Filter.cs
  • AesDecoderStream - src/SharpCompress/Compressors/LZMA/AesDecoderStream.cs
  • Bcj2DecoderStream - src/SharpCompress/Compressors/LZMA/Bcj2DecoderStream.cs
  • LZipStream - src/SharpCompress/Compressors/LZMA/LZipStream.cs
  • Decoder - src/SharpCompress/Compressors/LZMA/LzmaDecoder.cs
  • LzmaStream - src/SharpCompress/Compressors/LZMA/LzmaStream.cs
  • CrcBuilderStream - src/SharpCompress/Compressors/LZMA/Utilites/CrcBuilderStream.cs
  • CrcCheckStream - src/SharpCompress/Compressors/LZMA/Utilites/CrcCheckStream.cs
  • LzwStream - src/SharpCompress/Compressors/Lzw/LzwStream.cs
  • PpmdStream - src/SharpCompress/Compressors/PPMd/PpmdStream.cs
  • RunLength90Stream - src/SharpCompress/Compressors/RLE90/RunLength90Stream.cs
  • MultiVolumeReadOnlyStream - src/SharpCompress/Compressors/Rar/MultiVolumeReadOnlyStream.cs
  • RarBLAKE2spStream - src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs
  • RarCrcStream - src/SharpCompress/Compressors/Rar/RarCrcStream.cs
  • RarStream - src/SharpCompress/Compressors/Rar/RarStream.cs
  • ReduceStream - src/SharpCompress/Compressors/Reduce/ReduceStream.cs
  • ShrinkStream - src/SharpCompress/Compressors/Shrink/ShrinkStream.cs
  • SqueezeStream - src/SharpCompress/Compressors/Squeezed/SqueezedStream.cs
  • XZBlock - src/SharpCompress/Compressors/Xz/XZBlock.cs
  • XZStream - src/SharpCompress/Compressors/Xz/XZStream.cs
  • Crc32Stream - src/SharpCompress/Crypto/Crc32Stream.cs
  • BufferedSubStream - src/SharpCompress/IO/BufferedSubStream.cs
  • DataDescriptorStream - src/SharpCompress/IO/DataDescriptorStream.cs
  • ListeningStream - src/SharpCompress/IO/ListeningStream.cs
  • ZipWriter - src/SharpCompress/Writers/Zip/ZipWriter.cs

Classes Needing WriteAsync

  • FolderUnpackStream - src/SharpCompress/Common/SevenZip/ArchiveReader.cs
  • PkwareTraditionalCryptoStream - src/SharpCompress/Common/Zip/PkwareTraditionalCryptoStream.cs
  • BZip2Stream - src/SharpCompress/Compressors/BZip2/BZip2Stream.cs
  • CBZip2InputStream - src/SharpCompress/Compressors/BZip2/CBZip2InputStream.cs
  • CBZip2OutputStream - src/SharpCompress/Compressors/BZip2/CBZip2OutputStream.cs
  • Deflate64Stream - src/SharpCompress/Compressors/Deflate64/Deflate64Stream.cs
  • Filter - src/SharpCompress/Compressors/Filters/Filter.cs
  • LZipStream - src/SharpCompress/Compressors/LZMA/LZipStream.cs
  • Decoder - src/SharpCompress/Compressors/LZMA/LzmaDecoder.cs
  • LzmaStream - src/SharpCompress/Compressors/LZMA/LzmaStream.cs
  • CrcBuilderStream - src/SharpCompress/Compressors/LZMA/Utilites/CrcBuilderStream.cs
  • CrcCheckStream - src/SharpCompress/Compressors/LZMA/Utilites/CrcCheckStream.cs
  • PpmdStream - src/SharpCompress/Compressors/PPMd/PpmdStream.cs
  • RarStream - src/SharpCompress/Compressors/Rar/RarStream.cs
  • Crc32Stream - src/SharpCompress/Crypto/Crc32Stream.cs
  • ListeningStream - src/SharpCompress/IO/ListeningStream.cs
  • ZipWriter - src/SharpCompress/Writers/Zip/ZipWriter.cs

PRs:
#978
#980
#991

Next is RAR/LZMA/BZip2

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions