using System;
namespace Renci.SshNet.Messages.Connection
{
    /// 
    /// Represents "break" type channel request information
    /// 
    internal class BreakRequestInfo : RequestInfo
    {
        /// 
        /// Channel request name
        /// 
        public const string NAME = "break";
        /// 
        /// Gets the name of the request.
        /// 
        /// 
        /// The name of the request.
        /// 
        public override string RequestName
        {
            get { return NAME; }
        }
        /// 
        /// Gets break length in milliseconds.
        /// 
        public UInt32 BreakLength { get; private set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public BreakRequestInfo()
        {
            this.WantReply = true;
        }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        /// Length of the break.
        public BreakRequestInfo(UInt32 breakLength)
            : this()
        {
            this.BreakLength = breakLength;
        }
        /// 
        /// Called when type specific data need to be loaded.
        /// 
        protected override void LoadData()
        {
            base.LoadData();
            this.BreakLength = this.ReadUInt32();
        }
        /// 
        /// Called when type specific data need to be saved.
        /// 
        protected override void SaveData()
        {
            base.SaveData();
            this.Write(this.BreakLength);
        }
    }
}