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

◆ WriteCore()

void System.IO.Compression.BrotliStream.WriteCore ( ReadOnlySpan< byte > buffer,
bool isFinalBlock = false )
inlinepackage

Definition at line 105 of file BrotliStream.cs.

106 {
107 if (_mode != CompressionMode.Compress)
108 {
110 }
112 OperationStatus operationStatus = OperationStatus.DestinationTooSmall;
113 Span<byte> destination = new Span<byte>(_buffer);
114 while (operationStatus == OperationStatus.DestinationTooSmall)
115 {
116 operationStatus = _encoder.Compress(buffer, destination, out var bytesConsumed, out var bytesWritten, isFinalBlock);
117 if (operationStatus == OperationStatus.InvalidData)
118 {
120 }
121 if (bytesWritten > 0)
122 {
123 _stream.Write(destination.Slice(0, bytesWritten));
124 }
125 if (bytesConsumed > 0)
126 {
127 buffer = buffer.Slice(bytesConsumed);
128 }
129 }
130 }
readonly CompressionMode _mode
void Write(byte[] buffer, int offset, int count)
static string BrotliStream_Compress_InvalidData
Definition SR.cs:40
static string BrotliStream_Decompress_UnsupportedOperation
Definition SR.cs:42
Definition SR.cs:7
OperationStatus Compress(ReadOnlyMemory< byte > source, Memory< byte > destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock)

References System.IO.Compression.BrotliStream._buffer, System.IO.Compression.BrotliStream._encoder, System.IO.Compression.BrotliStream._mode, System.IO.Compression.BrotliStream._stream, System.SR.BrotliStream_Compress_InvalidData, System.SR.BrotliStream_Decompress_UnsupportedOperation, System.buffer, System.IO.Compression.BrotliEncoder.Compress(), System.destination, System.IO.Compression.BrotliStream.EnsureNotDisposed(), and System.IO.Stream.Write().

Referenced by System.IO.Compression.BrotliStream.Dispose(), System.IO.Compression.BrotliStream.Write(), System.IO.Compression.BrotliStream.Write(), and System.IO.Compression.BrotliStream.WriteByte().