System.IO.TextReader.ReadBlockAsyncInternal C# (CSharp) Method

ReadBlockAsyncInternal() private method

private ReadBlockAsyncInternal ( char buffer, int index, int count ) : Task
buffer char
index int
count int
return Task
        private async Task<int> ReadBlockAsyncInternal(char[] buffer, int index, int count)
        {
            Debug.Assert(buffer != null);
            Debug.Assert(index >= 0);
            Debug.Assert(count >= 0);
            Debug.Assert(buffer.Length - index >= count);

            int i, n = 0;
            do
            {
                i = await ReadAsyncInternal(buffer, index + n, count - n).ConfigureAwait(false);
                n += i;
            } while (i > 0 && n < count);

            return n;
        }
        #endregion