< Summary

Information
Class: Renci.SshNet.Messages.Connection.ChannelRequestMessage
Assembly: Renci.SshNet
File(s): \home\appveyor\projects\ssh-net\src\Renci.SshNet\Messages\Connection\ChannelRequest\ChannelRequestMessage.cs
Line coverage
100%
Covered lines: 37
Uncovered lines: 0
Coverable lines: 37
Total lines: 102
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
get_RequestName()100%1100%
set_RequestName(...)100%1100%
get_RequestData()100%1100%
get_BufferCapacity()100%1100%
.ctor()100%1100%
.ctor(...)100%1100%
LoadData()100%1100%
SaveData()100%1100%
Process(...)100%1100%

File(s)

\home\appveyor\projects\ssh-net\src\Renci.SshNet\Messages\Connection\ChannelRequest\ChannelRequestMessage.cs

#LineLine coverage
 1namespace Renci.SshNet.Messages.Connection
 2{
 3    /// <summary>
 4    /// Represents SSH_MSG_CHANNEL_REQUEST message.
 5    /// </summary>
 6    [Message("SSH_MSG_CHANNEL_REQUEST", 98)]
 7    public class ChannelRequestMessage : ChannelMessage
 8    {
 9        private string _requestName;
 10        private byte[] _requestNameBytes;
 11
 12        /// <summary>
 13        /// Gets the name of the request.
 14        /// </summary>
 15        /// <value>
 16        /// The name of the request.
 17        /// </value>
 18        public string RequestName
 19        {
 20            get
 169821            {
 169822                return _requestName;
 169823            }
 24            private set
 171325            {
 171326                _requestName = value;
 171327                _requestNameBytes = Ascii.GetBytes(value);
 171328            }
 29        }
 30
 31        /// <summary>
 32        /// Gets channel request data.
 33        /// </summary>
 851734        public byte[] RequestData { get; private set; }
 35
 36        /// <summary>
 37        /// Gets the size of the message in bytes.
 38        /// </summary>
 39        /// <value>
 40        /// The size of the messages in bytes.
 41        /// </value>
 42        protected override int BufferCapacity
 43        {
 44            get
 170745            {
 170746                var capacity = base.BufferCapacity;
 170747                capacity += 4; // RequestName length
 170748                capacity += _requestNameBytes.Length; // RequestName
 170749                capacity += RequestData.Length; // RequestData
 170750                return capacity;
 170751            }
 52        }
 53
 54        /// <summary>
 55        /// Initializes a new instance of the <see cref="ChannelRequestMessage"/> class.
 56        /// </summary>
 169257        public ChannelRequestMessage()
 169258        {
 59            // Required for dynamically loading request type when it comes from the server
 169260        }
 61
 62        /// <summary>
 63        /// Initializes a new instance of the <see cref="ChannelRequestMessage"/> class.
 64        /// </summary>
 65        /// <param name="localChannelNumber">The local channel number.</param>
 66        /// <param name="info">The info.</param>
 67        public ChannelRequestMessage(uint localChannelNumber, RequestInfo info)
 171368            : base(localChannelNumber)
 171369        {
 171370            RequestName = info.RequestName;
 171371            RequestData = info.GetBytes();
 171372        }
 73
 74        /// <summary>
 75        /// Called when type specific data need to be loaded.
 76        /// </summary>
 77        protected override void LoadData()
 169278        {
 169279            base.LoadData();
 80
 169281            _requestNameBytes = ReadBinary();
 169282            _requestName = Ascii.GetString(_requestNameBytes, 0, _requestNameBytes.Length);
 169283            RequestData = ReadBytes();
 169284        }
 85
 86        /// <summary>
 87        /// Called when type specific data need to be saved.
 88        /// </summary>
 89        protected override void SaveData()
 170790        {
 170791            base.SaveData();
 92
 170793            WriteBinaryString(_requestNameBytes);
 170794            Write(RequestData);
 170795        }
 96
 97        internal override void Process(Session session)
 169298        {
 169299            session.OnChannelRequestReceived(this);
 1692100        }
 101    }
 102}