< Summary

Information
Class: System.IO.DelegatingStream
Assembly: System.Net.Http
File(s): D:\runner\runtime\src\libraries\Common\src\System\IO\DelegatingStream.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 86
Coverable lines: 86
Total lines: 190
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)100%110%
Dispose(...)0%220%
DisposeAsync()100%110%
Seek(...)100%110%
Read(...)100%110%
Read(...)100%110%
ReadByte()100%110%
ReadAsync(...)100%110%
ReadAsync(...)100%110%
BeginRead(...)100%110%
EndRead(...)100%110%
CopyTo(...)100%110%
CopyToAsync(...)100%110%
Flush()100%110%
FlushAsync(...)100%110%
SetLength(...)100%110%
Write(...)100%110%
Write(...)100%110%
WriteByte(...)100%110%
WriteAsync(...)100%110%
WriteAsync(...)100%110%
BeginWrite(...)100%110%
EndWrite(...)100%110%

File(s)

D:\runner\runtime\src\libraries\Common\src\System\IO\DelegatingStream.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System.Diagnostics;
 5using System.IO;
 6using System.Threading;
 7using System.Threading.Tasks;
 8
 9namespace System.IO
 10{
 11    // Forwards all calls to an inner stream except where overridden in a derived class.
 12    internal abstract class DelegatingStream : Stream
 13    {
 14        private readonly Stream _innerStream;
 15
 16        #region Properties
 17
 18        public override bool CanRead
 19        {
 020            get { return _innerStream.CanRead; }
 21        }
 22
 23        public override bool CanSeek
 24        {
 025            get { return _innerStream.CanSeek; }
 26        }
 27
 28        public override bool CanWrite
 29        {
 030            get { return _innerStream.CanWrite; }
 31        }
 32
 33        public override long Length
 34        {
 035            get { return _innerStream.Length; }
 36        }
 37
 38        public override long Position
 39        {
 040            get { return _innerStream.Position; }
 041            set { _innerStream.Position = value; }
 42        }
 43
 44        public override int ReadTimeout
 45        {
 046            get { return _innerStream.ReadTimeout; }
 047            set { _innerStream.ReadTimeout = value; }
 48        }
 49
 50        public override bool CanTimeout
 51        {
 052            get { return _innerStream.CanTimeout; }
 53        }
 54
 55        public override int WriteTimeout
 56        {
 057            get { return _innerStream.WriteTimeout; }
 058            set { _innerStream.WriteTimeout = value; }
 59        }
 60
 61        #endregion Properties
 62
 063        protected DelegatingStream(Stream innerStream)
 064        {
 065            Debug.Assert(innerStream != null);
 066            _innerStream = innerStream;
 067        }
 68
 69        protected override void Dispose(bool disposing)
 070        {
 071            if (disposing)
 072            {
 073                _innerStream.Dispose();
 074            }
 075            base.Dispose(disposing);
 076        }
 77
 78        public override ValueTask DisposeAsync()
 079        {
 080            return _innerStream.DisposeAsync();
 081        }
 82
 83        #region Read
 84
 85        public override long Seek(long offset, SeekOrigin origin)
 086        {
 087            return _innerStream.Seek(offset, origin);
 088        }
 89
 90        public override int Read(byte[] buffer, int offset, int count)
 091        {
 092            return _innerStream.Read(buffer, offset, count);
 093        }
 94
 95        public override int Read(Span<byte> buffer)
 096        {
 097            return _innerStream.Read(buffer);
 098        }
 99
 100        public override int ReadByte()
 0101        {
 0102            return _innerStream.ReadByte();
 0103        }
 104
 105        public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
 0106        {
 0107            return _innerStream.ReadAsync(buffer, offset, count, cancellationToken);
 0108        }
 109
 110        public override ValueTask<int> ReadAsync(Memory<byte> buffer, CancellationToken cancellationToken = default)
 0111        {
 0112            return _innerStream.ReadAsync(buffer, cancellationToken);
 0113        }
 114
 115        public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? st
 0116        {
 0117            return _innerStream.BeginRead(buffer, offset, count, callback, state);
 0118        }
 119
 120        public override int EndRead(IAsyncResult asyncResult)
 0121        {
 0122            return _innerStream.EndRead(asyncResult);
 0123        }
 124
 125        public override void CopyTo(Stream destination, int bufferSize)
 0126        {
 0127            _innerStream.CopyTo(destination, bufferSize);
 0128        }
 129
 130        public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken)
 0131        {
 0132            return _innerStream.CopyToAsync(destination, bufferSize, cancellationToken);
 0133        }
 134
 135        #endregion Read
 136
 137        #region Write
 138
 139        public override void Flush()
 0140        {
 0141            _innerStream.Flush();
 0142        }
 143
 144        public override Task FlushAsync(CancellationToken cancellationToken)
 0145        {
 0146            return _innerStream.FlushAsync(cancellationToken);
 0147        }
 148
 149        public override void SetLength(long value)
 0150        {
 0151            _innerStream.SetLength(value);
 0152        }
 153
 154        public override void Write(byte[] buffer, int offset, int count)
 0155        {
 0156            _innerStream.Write(buffer, offset, count);
 0157        }
 158
 159        public override void Write(ReadOnlySpan<byte> buffer)
 0160        {
 0161            _innerStream.Write(buffer);
 0162        }
 163
 164        public override void WriteByte(byte value)
 0165        {
 0166            _innerStream.WriteByte(value);
 0167        }
 168
 169        public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
 0170        {
 0171            return _innerStream.WriteAsync(buffer, offset, count, cancellationToken);
 0172        }
 173
 174        public override ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken = default)
 0175        {
 0176            return _innerStream.WriteAsync(buffer, cancellationToken);
 0177        }
 178
 179        public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? callback, object? s
 0180        {
 0181            return _innerStream.BeginWrite(buffer, offset, count, callback, state);
 0182        }
 183
 184        public override void EndWrite(IAsyncResult asyncResult)
 0185        {
 0186            _innerStream.EndWrite(asyncResult);
 0187        }
 188        #endregion Write
 189    }
 190}