< Summary

Information
Class: Renci.SshNet.Messages.Transport.DisconnectMessage
Assembly: Renci.SshNet
File(s): \home\appveyor\projects\ssh-net\src\Renci.SshNet\Messages\Transport\DisconnectMessage.cs
Line coverage
100%
Covered lines: 36
Uncovered lines: 0
Coverable lines: 36
Total lines: 99
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_ReasonCode()100%1100%
get_Description()100%1100%
set_Description(...)100%1100%
get_Language()100%1100%
set_Language(...)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\Transport\DisconnectMessage.cs

#LineLine coverage
 1namespace Renci.SshNet.Messages.Transport
 2{
 3    /// <summary>
 4    /// Represents SSH_MSG_DISCONNECT message.
 5    /// </summary>
 6    [Message("SSH_MSG_DISCONNECT", 1)]
 7    public class DisconnectMessage : Message, IKeyExchangedAllowed
 8    {
 9        private byte[] _description;
 10        private byte[] _language;
 11
 12        /// <summary>
 13        /// Gets disconnect reason code.
 14        /// </summary>
 411115        public DisconnectReason ReasonCode { get; private set; }
 16
 17        /// <summary>
 18        /// Gets disconnect description.
 19        /// </summary>
 20        public string Description
 21        {
 119722            get { return Utf8.GetString(_description, 0, _description.Length); }
 500123            private set { _description = Utf8.GetBytes(value); }
 24        }
 25
 26        /// <summary>
 27        /// Gets message language.
 28        /// </summary>
 29        public string Language
 30        {
 1831            get { return Utf8.GetString(_language, 0, _language.Length); }
 500132            private set { _language = Utf8.GetBytes(value); }
 33        }
 34
 35        /// <summary>
 36        /// Gets the size of the message in bytes.
 37        /// </summary>
 38        /// <value>
 39        /// The size of the messages in bytes.
 40        /// </value>
 41        protected override int BufferCapacity
 42        {
 43            get
 166744            {
 166745                var capacity = base.BufferCapacity;
 166746                capacity += 4; // ReasonCode
 166747                capacity += 4; // Description length
 166748                capacity += _description.Length; // Description
 166749                capacity += 4; // Language length
 166750                capacity += _language.Length; // Language
 166751                return capacity;
 166752            }
 53        }
 54
 55        /// <summary>
 56        /// Initializes a new instance of the <see cref="DisconnectMessage"/> class.
 57        /// </summary>
 18958        public DisconnectMessage()
 18959        {
 18960        }
 61
 62        /// <summary>
 63        /// Initializes a new instance of the <see cref="DisconnectMessage"/> class.
 64        /// </summary>
 65        /// <param name="reasonCode">The reason code.</param>
 66        /// <param name="message">The message.</param>
 166767        public DisconnectMessage(DisconnectReason reasonCode, string message)
 166768        {
 166769            ReasonCode = reasonCode;
 166770            Description = message;
 166771            Language = "en";
 166772        }
 73
 74        /// <summary>
 75        /// Called when type specific data need to be loaded.
 76        /// </summary>
 77        protected override void LoadData()
 18978        {
 18979            ReasonCode = (DisconnectReason) ReadUInt32();
 18980            _description = ReadBinary();
 18981            _language = ReadBinary();
 18982        }
 83
 84        /// <summary>
 85        /// Called when type specific data need to be saved.
 86        /// </summary>
 87        protected override void SaveData()
 166788        {
 166789            Write((uint) ReasonCode);
 166790            WriteBinaryString(_description);
 166791            WriteBinaryString(_language);
 166792        }
 93
 94        internal override void Process(Session session)
 18995        {
 18996            session.OnDisconnectReceived(this);
 18997        }
 98    }
 99}