< Summary

Information
Class: Renci.SshNet.Sftp.Requests.SftpReadDirRequest
Assembly: Renci.SshNet
File(s): \home\appveyor\projects\ssh-net\src\Renci.SshNet\Sftp\Requests\SftpReadDirRequest.cs
Line coverage
86%
Covered lines: 26
Uncovered lines: 4
Coverable lines: 30
Total lines: 67
Line coverage: 86.6%
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_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\SftpReadDirRequest.cs

#LineLine coverage
 1using System;
 2
 3using Renci.SshNet.Sftp.Responses;
 4
 5namespace Renci.SshNet.Sftp.Requests
 6{
 7    internal sealed class SftpReadDirRequest : SftpRequest
 8    {
 9        private readonly Action<SftpNameResponse> _nameAction;
 10
 11        public override SftpMessageTypes SftpMessageType
 12        {
 40213            get { return SftpMessageTypes.ReadDir; }
 14        }
 15
 40516        public byte[] Handle { get; private set; }
 17
 18        /// <summary>
 19        /// Gets the size of the message in bytes.
 20        /// </summary>
 21        /// <value>
 22        /// The size of the messages in bytes.
 23        /// </value>
 24        protected override int BufferCapacity
 25        {
 26            get
 13127            {
 13128                var capacity = base.BufferCapacity;
 13129                capacity += 4; // Handle length
 13130                capacity += Handle.Length; // Handle
 13131                return capacity;
 13132            }
 33        }
 34
 35        public SftpReadDirRequest(uint protocolVersion, uint requestId, byte[] handle, Action<SftpNameResponse> nameActi
 14036            : base(protocolVersion, requestId, statusAction)
 14037        {
 14038            Handle = handle;
 39
 14040            _nameAction = nameAction;
 14041        }
 42
 43        protected override void LoadData()
 044        {
 045            base.LoadData();
 046            Handle = ReadBinary();
 047        }
 48
 49        protected override void SaveData()
 13150        {
 13151            base.SaveData();
 13152            WriteBinaryString(Handle);
 13153        }
 54
 55        public override void Complete(SftpResponse response)
 13456        {
 13457            if (response is SftpNameResponse nameResponse)
 11758            {
 11759                _nameAction(nameResponse);
 11760            }
 61            else
 1762            {
 1763                base.Complete(response);
 1764            }
 13465        }
 66    }
 67}