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

◆ TryDecompress()

bool System.IO.Compression.BrotliStream.TryDecompress ( Span< byte > destination,
out int bytesWritten )
inlineprivate

Definition at line 363 of file BrotliStream.cs.

364 {
365 int bytesConsumed;
366 OperationStatus operationStatus = _decoder.Decompress(new ReadOnlySpan<byte>(_buffer, _bufferOffset, _bufferCount), destination, out bytesConsumed, out bytesWritten);
367 if (operationStatus == OperationStatus.InvalidData)
368 {
370 }
371 if (bytesConsumed != 0)
372 {
373 _bufferOffset += bytesConsumed;
374 _bufferCount -= bytesConsumed;
375 }
376 if (bytesWritten != 0 || operationStatus == OperationStatus.Done)
377 {
378 return true;
379 }
380 if (destination.IsEmpty && _bufferCount != 0)
381 {
382 return true;
383 }
384 if (_bufferCount != 0 && _bufferOffset != 0)
385 {
386 new ReadOnlySpan<byte>(_buffer, _bufferOffset, _bufferCount).CopyTo(_buffer);
387 }
388 _bufferOffset = 0;
389 return false;
390 }
static string BrotliStream_Decompress_InvalidData
Definition SR.cs:44
Definition SR.cs:7
unsafe OperationStatus Decompress(ReadOnlySpan< byte > source, Span< byte > destination, out int bytesConsumed, out int bytesWritten)

References System.IO.Compression.BrotliStream._buffer, System.IO.Compression.BrotliStream._bufferCount, System.IO.Compression.BrotliStream._bufferOffset, System.IO.Compression.BrotliStream._decoder, System.SR.BrotliStream_Decompress_InvalidData, System.ReadOnlySpan< T >.CopyTo(), System.IO.Compression.BrotliDecoder.Decompress(), and System.destination.

Referenced by System.IO.Compression.BrotliStream.Read(), and System.IO.Compression.BrotliStream.ReadAsync().