MongoDB.Bson.IO.MultiChunkBuffer.WriteBytes C# (CSharp) Метод

WriteBytes() публичный Метод

Writes bytes.
MultiChunkBuffer The MultiChunkBuffer is read only.
public WriteBytes ( byte source ) : void
source byte The bytes (in the form of a byte array).
Результат void
        public void WriteBytes(byte[] source)
        {
            ThrowIfDisposed();
            EnsureIsWritable();
            EnsureSpaceAvailable(source.Length);
            var chunkIndex = (_sliceOffset + _position) / _chunkSize;
            var chunkOffset = (_sliceOffset + _position) % _chunkSize;
            var remaining = source.Length;
            var sourceOffset = 0;
            while (remaining > 0)
            {
                var chunkRemaining = _chunkSize - chunkOffset;
                var bytesToCopy = (remaining < chunkRemaining) ? remaining : chunkRemaining;
                Buffer.BlockCopy(source, sourceOffset, _chunks[chunkIndex].Bytes, chunkOffset, bytesToCopy);
                chunkIndex += 1;
                chunkOffset = 0;
                remaining -= bytesToCopy;
                sourceOffset += bytesToCopy;
                _position += bytesToCopy;
            }
            if (_length < _position)
            {
                _length = _position;
            }
        }

Same methods

MultiChunkBuffer::WriteBytes ( IByteBuffer source ) : void