use configure await false

This commit is contained in:
Adam Hathcock
2026-02-12 10:29:15 +00:00
parent 51c42b89b4
commit 89d948b4e1
3 changed files with 58 additions and 27 deletions

View File

@@ -105,10 +105,9 @@ public partial class TarArchive
i => null,
readerOptions ?? new ReaderOptions()
);
var compressionType = await TarFactory.GetCompressionTypeAsync(
sourceStream,
cancellationToken
);
var compressionType = await TarFactory
.GetCompressionTypeAsync(sourceStream, cancellationToken)
.ConfigureAwait(false);
sourceStream.Seek(0, SeekOrigin.Begin);
return new TarArchive(sourceStream, compressionType);
}
@@ -134,10 +133,9 @@ public partial class TarArchive
fileInfo.NotNull(nameof(fileInfo));
readerOptions ??= new ReaderOptions() { LeaveStreamOpen = false };
var sourceStream = new SourceStream(fileInfo, i => null, readerOptions);
var compressionType = await TarFactory.GetCompressionTypeAsync(
sourceStream,
cancellationToken
);
var compressionType = await TarFactory
.GetCompressionTypeAsync(sourceStream, cancellationToken)
.ConfigureAwait(false);
sourceStream.Seek(0, SeekOrigin.Begin);
return new TarArchive(sourceStream, compressionType);
}
@@ -156,10 +154,9 @@ public partial class TarArchive
i => i < strms.Length ? strms[i] : null,
readerOptions ?? new ReaderOptions()
);
var compressionType = await TarFactory.GetCompressionTypeAsync(
sourceStream,
cancellationToken
);
var compressionType = await TarFactory
.GetCompressionTypeAsync(sourceStream, cancellationToken)
.ConfigureAwait(false);
sourceStream.Seek(0, SeekOrigin.Begin);
return new TarArchive(sourceStream, compressionType);
}
@@ -178,10 +175,9 @@ public partial class TarArchive
i => i < files.Length ? files[i] : null,
readerOptions ?? new ReaderOptions() { LeaveStreamOpen = false }
);
var compressionType = await TarFactory.GetCompressionTypeAsync(
sourceStream,
cancellationToken
);
var compressionType = await TarFactory
.GetCompressionTypeAsync(sourceStream, cancellationToken)
.ConfigureAwait(false);
sourceStream.Seek(0, SeekOrigin.Begin);
return new TarArchive(sourceStream, compressionType);
}

View File

@@ -141,7 +141,11 @@ public class TarFactory
{
stream.Seek(0, SeekOrigin.Begin);
var decompressedStream = wrapper.CreateStream(stream);
if (await TarArchive.IsTarFileAsync(decompressedStream, cancellationToken))
if (
await TarArchive
.IsTarFileAsync(decompressedStream, cancellationToken)
.ConfigureAwait(false)
)
{
return wrapper.CompressionType;
}
@@ -161,7 +165,10 @@ public class TarFactory
Stream stream,
ReaderOptions? readerOptions = null,
CancellationToken cancellationToken = default
) => await TarArchive.OpenAsyncArchive(stream, readerOptions, cancellationToken);
) =>
await TarArchive
.OpenAsyncArchive(stream, readerOptions, cancellationToken)
.ConfigureAwait(false);
/// <inheritdoc/>
public IArchive OpenArchive(FileInfo fileInfo, ReaderOptions? readerOptions = null) =>
@@ -172,7 +179,10 @@ public class TarFactory
FileInfo fileInfo,
ReaderOptions? readerOptions = null,
CancellationToken cancellationToken = default
) => await TarArchive.OpenAsyncArchive(fileInfo, readerOptions, cancellationToken);
) =>
await TarArchive
.OpenAsyncArchive(fileInfo, readerOptions, cancellationToken)
.ConfigureAwait(false);
#endregion

View File

@@ -34,6 +34,7 @@ public partial class TarReader
CancellationToken cancellationToken = default
)
{
cancellationToken.ThrowIfCancellationRequested();
stream.NotNull(nameof(stream));
options ??= new ReaderOptions();
var sharpCompressStream = SharpCompressStream.Create(
@@ -41,11 +42,17 @@ public partial class TarReader
bufferSize: options.RewindableBufferSize
);
long pos = sharpCompressStream.Position;
if (await GZipArchive.IsGZipFileAsync(sharpCompressStream, cancellationToken))
if (
await GZipArchive
.IsGZipFileAsync(sharpCompressStream, cancellationToken)
.ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
var testStream = new GZipStream(sharpCompressStream, CompressionMode.Decompress);
if (await TarArchive.IsTarFileAsync(testStream, cancellationToken))
if (
await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
return new TarReader(sharpCompressStream, options, CompressionType.GZip);
@@ -53,7 +60,11 @@ public partial class TarReader
throw new InvalidFormatException("Not a tar file.");
}
sharpCompressStream.Position = pos;
if (await BZip2Stream.IsBZip2Async(sharpCompressStream, cancellationToken))
if (
await BZip2Stream
.IsBZip2Async(sharpCompressStream, cancellationToken)
.ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
var testStream = BZip2Stream.Create(
@@ -61,7 +72,9 @@ public partial class TarReader
CompressionMode.Decompress,
false
);
if (await TarArchive.IsTarFileAsync(testStream, cancellationToken))
if (
await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
return new TarReader(sharpCompressStream, options, CompressionType.BZip2);
@@ -69,11 +82,17 @@ public partial class TarReader
throw new InvalidFormatException("Not a tar file.");
}
sharpCompressStream.Position = pos;
if (await ZStandardStream.IsZStandardAsync(sharpCompressStream, cancellationToken))
if (
await ZStandardStream
.IsZStandardAsync(sharpCompressStream, cancellationToken)
.ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
var testStream = new ZStandardStream(sharpCompressStream);
if (await TarArchive.IsTarFileAsync(testStream, cancellationToken))
if (
await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
return new TarReader(sharpCompressStream, options, CompressionType.ZStandard);
@@ -81,11 +100,17 @@ public partial class TarReader
throw new InvalidFormatException("Not a tar file.");
}
sharpCompressStream.Position = pos;
if (await LZipStream.IsLZipFileAsync(sharpCompressStream, cancellationToken))
if (
await LZipStream
.IsLZipFileAsync(sharpCompressStream, cancellationToken)
.ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
var testStream = new LZipStream(sharpCompressStream, CompressionMode.Decompress);
if (await TarArchive.IsTarFileAsync(testStream, cancellationToken))
if (
await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false)
)
{
sharpCompressStream.Position = pos;
return new TarReader(sharpCompressStream, options, CompressionType.LZip);