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

◆ Write() [2/2]

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

Reimplemented from System.IO.Stream.

Definition at line 640 of file BufferedStream.cs.

641 {
644 if (_writePos == 0)
645 {
647 }
648 int num;
649 checked
650 {
651 num = _writePos + buffer.Length;
652 if ((uint)num + buffer.Length < _bufferSize + _bufferSize)
653 {
655 if (_writePos >= _bufferSize)
656 {
657 buffer = buffer.Slice(start);
659 _writePos = 0;
661 }
662 return;
663 }
664 }
665 if (_writePos > 0)
666 {
667 if (num <= _bufferSize + _bufferSize && num <= 81920)
668 {
670 buffer.CopyTo(new Span<byte>(_buffer, _writePos, buffer.Length));
671 _stream.Write(_buffer, 0, num);
672 _writePos = 0;
673 return;
674 }
676 _writePos = 0;
677 }
679 }
void WriteToBuffer(byte[] buffer, ref int offset, ref int count)
void Write(byte[] buffer, int offset, int count)

References System.IO.BufferedStream._buffer, System.IO.BufferedStream._bufferSize, System.IO.BufferedStream._stream, System.IO.BufferedStream._writePos, System.buffer, System.IO.BufferedStream.ClearReadBufferBeforeWrite(), System.IO.BufferedStream.EnsureCanWrite(), System.IO.BufferedStream.EnsureNotClosed(), System.IO.BufferedStream.EnsureShadowBufferAllocated(), System.start, System.IO.Stream.Write(), and System.IO.BufferedStream.WriteToBuffer().