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

◆ Write() [2/2]

override void System.IO.ChunkedMemoryStream.Write ( ReadOnlySpan< byte > buffer)
inlinevirtual

Reimplemented from System.IO.Stream.

Definition at line 69 of file ChunkedMemoryStream.cs.

70 {
71 while (!buffer.IsEmpty)
72 {
73 if (_currentChunk != null)
74 {
75 int num = _currentChunk._buffer.Length - _currentChunk._freeOffset;
76 if (num > 0)
77 {
78 int num2 = Math.Min(num, buffer.Length);
79 buffer.Slice(0, num2).CopyTo(new Span<byte>(_currentChunk._buffer, _currentChunk._freeOffset, num2));
80 buffer = buffer.Slice(num2);
81 _totalLength += num2;
82 _currentChunk._freeOffset += num2;
83 continue;
84 }
85 }
86 AppendChunk(buffer.Length);
87 }
88 }

References System.IO.ChunkedMemoryStream.MemoryChunk._buffer, System.IO.ChunkedMemoryStream._currentChunk, System.IO.ChunkedMemoryStream.MemoryChunk._freeOffset, System.IO.ChunkedMemoryStream._totalLength, System.IO.ChunkedMemoryStream.AppendChunk(), System.buffer, and System.Math.Min().