< Summary

Information
Class: Renci.SshNet.Sftp.Requests.SftpReadRequest
Assembly: Renci.SshNet
File(s): \home\appveyor\projects\ssh-net\src\Renci.SshNet\Sftp\Requests\SftpReadRequest.cs
Line coverage
85%
Covered lines: 34
Uncovered lines: 6
Coverable lines: 40
Total lines: 80
Line coverage: 85%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
get_SftpMessageType()100%1100%
get_Handle()100%1100%
get_Offset()100%1100%
get_Length()100%1100%
get_BufferCapacity()100%1100%
.ctor(...)100%1100%
LoadData()100%10%
SaveData()100%1100%
Complete(...)100%2100%

File(s)

\home\appveyor\projects\ssh-net\src\Renci.SshNet\Sftp\Requests\SftpReadRequest.cs

#LineLine coverage
 1using System;
 2
 3using Renci.SshNet.Sftp.Responses;
 4
 5namespace Renci.SshNet.Sftp.Requests
 6{
 7    internal sealed class SftpReadRequest : SftpRequest
 8    {
 9        private readonly Action<SftpDataResponse> _dataAction;
 10
 11        public override SftpMessageTypes SftpMessageType
 12        {
 1231213            get { return SftpMessageTypes.Read; }
 14        }
 15
 1231516        public byte[] Handle { get; private set; }
 17
 821418        public ulong Offset { get; private set; }
 19
 821420        public uint Length { get; private set; }
 21
 22        /// <summary>
 23        /// Gets the size of the message in bytes.
 24        /// </summary>
 25        /// <value>
 26        /// The size of the messages in bytes.
 27        /// </value>
 28        protected override int BufferCapacity
 29        {
 30            get
 410131            {
 410132                var capacity = base.BufferCapacity;
 410133                capacity += 4; // Handle length
 410134                capacity += Handle.Length; // Handle
 410135                capacity += 8; // Offset
 410136                capacity += 4; // Length
 410137                return capacity;
 410138            }
 39        }
 40
 41        public SftpReadRequest(uint protocolVersion, uint requestId, byte[] handle, ulong offset, uint length, Action<Sf
 411042            : base(protocolVersion, requestId, statusAction)
 411043        {
 411044            Handle = handle;
 411045            Offset = offset;
 411046            Length = length;
 411047            _dataAction = dataAction;
 411048        }
 49
 50        protected override void LoadData()
 051        {
 052            base.LoadData();
 53
 054            Handle = ReadBinary();
 055            Offset = ReadUInt64();
 056            Length = ReadUInt32();
 057        }
 58
 59        protected override void SaveData()
 410160        {
 410161            base.SaveData();
 62
 410163            WriteBinaryString(Handle);
 410164            Write(Offset);
 410165            Write(Length);
 410166        }
 67
 68        public override void Complete(SftpResponse response)
 408669        {
 408670            if (response is SftpDataResponse dataResponse)
 397071            {
 397072                _dataAction(dataResponse);
 397073            }
 74            else
 11675            {
 11676                base.Complete(response);
 11677            }
 408678        }
 79    }
 80}