Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DisposeAsync()

override async ValueTask System.IO.Compression.BrotliStream.DisposeAsync ( )
inlinevirtual

Reimplemented from System.IO.Stream.

Definition at line 462 of file BrotliStream.cs.

463 {
464 _ = 1;
465 try
466 {
467 if (_stream != null)
468 {
469 if (_mode == CompressionMode.Compress)
470 {
471 await WriteAsyncMemoryCore(ReadOnlyMemory<byte>.Empty, CancellationToken.None, isFinalBlock: true).ConfigureAwait(continueOnCapturedContext: false);
472 }
473 if (!_leaveOpen)
474 {
475 await _stream.DisposeAsync().ConfigureAwait(continueOnCapturedContext: false);
476 }
477 }
478 }
479 finally
480 {
482 }
483 }
readonly CompressionMode _mode
async ValueTask WriteAsyncMemoryCore(ReadOnlyMemory< byte > buffer, CancellationToken cancellationToken, bool isFinalBlock=false)
virtual ValueTask DisposeAsync()
Definition Stream.cs:654
ConfiguredValueTaskAwaitable ConfigureAwait(bool continueOnCapturedContext)
Definition ValueTask.cs:312

References System.IO.Compression.BrotliStream._leaveOpen, System.IO.Compression.BrotliStream._mode, System.IO.Compression.BrotliStream._stream, System.Threading.Tasks.ValueTask< TResult >.ConfigureAwait(), System.IO.Stream.DisposeAsync(), System.Threading.CancellationToken.None, System.IO.Compression.BrotliStream.ReleaseStateForDispose(), and System.IO.Compression.BrotliStream.WriteAsyncMemoryCore().