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

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

Loads the buffer from a stream.
MultiChunkBuffer The MultiChunkBuffer is read only. stream count
public LoadFrom ( Stream stream, int count ) : void
stream Stream The stream.
count int The count.
Результат void
        public void LoadFrom(Stream stream, int count)
        {
            ThrowIfDisposed();
            EnsureIsWritable();
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            EnsureSpaceAvailable(count);
            var position = _position; // don't advance position
            while (count > 0)
            {
                var chunkIndex = (_sliceOffset + position) / _chunkSize;
                var chunkOffset = (_sliceOffset + position) % _chunkSize;
                var chunkRemaining = _chunkSize - chunkOffset;
                var bytesToRead = (count <= chunkRemaining) ? count : chunkRemaining;
                var bytesRead = stream.Read(_chunks[chunkIndex].Bytes, chunkOffset, bytesToRead);
                if (bytesRead == 0)
                {
                    throw new EndOfStreamException();
                }
                position += bytesRead;
                count -= bytesRead;
            }

            if (_length < position)
            {
                _length = position;
            }
        }