コード例 #1
0
        public async Task ReadStreamDoesNotOverflowOnMoreThan2GB()
        {
            // This test should never fail with OverflowException
            var repeated = new byte["128 MB".ToSize()];

            Func <Task <ByteString> > producer = async() => await Task.FromResult(ByteString.CopyFrom(repeated));

            using (var readStream = new BufferedReadStream(producer))
            {
                var data = new byte["128 MB".ToSize()];
                while (readStream.Position < "4 GB".ToSize())
                {
                    await readStream.ReadAsync(data, 0, data.Length);
                }
            }
        }