Esempio n. 1
0
        private static async Task CopyToHalfAsync(AsyncStream source, Stream destination, int bufferSize, CancellationToken cancellationToken)
        {
            byte[] buffer = new byte[bufferSize];
            while (true)
            {
                int bytesRead = await source.ReadAsync(buffer, 0, buffer.Length, cancellationToken).ConfigureAwait(false);

                if (bytesRead == 0)
                {
                    break;
                }
                await WriteAsyncInternal(destination, buffer, 0, bytesRead, cancellationToken).ConfigureAwait(false);
            }
        }