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

◆ WriteAsync() [3/3]

override ValueTask System.IO.Compression.CheckSumAndSizeWriteStream.WriteAsync ( ReadOnlyMemory< byte > buffer,
CancellationToken cancellationToken = default(CancellationToken) )
inlinevirtual

Reimplemented from System.IO.Stream.

Definition at line 147 of file CheckSumAndSizeWriteStream.cs.

148 {
150 if (buffer.IsEmpty)
151 {
152 return default(ValueTask);
153 }
154 return Core(buffer, cancellationToken);
155 async ValueTask Core(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken = default(CancellationToken))
156 {
157 if (!_everWritten)
158 {
160 _everWritten = true;
161 }
162 _checksum = Crc32Helper.UpdateCrc32(_checksum, buffer.Span);
163 await _baseStream.WriteAsync(buffer, cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
164 _position += buffer.Length;
165 }
166 }
Task WriteAsync(byte[] buffer, int offset, int count)
Definition Stream.cs:914
new ConfiguredTaskAwaitable< TResult > ConfigureAwait(bool continueOnCapturedContext)
Definition Task.cs:226

References System.IO.Compression.CheckSumAndSizeWriteStream._baseBaseStream, System.IO.Compression.CheckSumAndSizeWriteStream._baseStream, System.IO.Compression.CheckSumAndSizeWriteStream._checksum, System.IO.Compression.CheckSumAndSizeWriteStream._everWritten, System.IO.Compression.CheckSumAndSizeWriteStream._initialPosition, System.IO.Compression.CheckSumAndSizeWriteStream._position, System.buffer, System.cancellationToken, System.Threading.Tasks.Task< TResult >.ConfigureAwait(), System.IO.Stream.Position, System.IO.Compression.CheckSumAndSizeWriteStream.ThrowIfDisposed(), System.IO.Compression.Crc32Helper.UpdateCrc32(), and System.IO.Stream.WriteAsync().