System.Net.BufferedReadStream.ReadAsyncResult.Read C# (CSharp) Method

Read() private method

private Read ( byte buffer, int offset, int count ) : void
buffer byte
offset int
count int
return void
            internal void Read(byte[] buffer, int offset, int count)
            {
                if (_parent._storedOffset < _parent._storedLength)
                {
                    _read = Math.Min(count, _parent._storedLength - _parent._storedOffset);
                    Buffer.BlockCopy(_parent._storedBuffer, _parent._storedOffset, buffer, offset, _read);
                    _parent._storedOffset += _read;
                    if (_read == count || !_parent._readMore)
                    {
                        InvokeCallback();
                        return;
                    }

                    count -= _read;
                    offset += _read;
                }
                IAsyncResult result = _parent.BaseStream.BeginRead(buffer, offset, count, s_onRead, this);
                if (result.CompletedSynchronously)
                {
                    _read += _parent.BaseStream.EndRead(result);
                    InvokeCallback();
                }
            }
BufferedReadStream.ReadAsyncResult