//public override void Close()
        //{
        //    //  Send EOF message first when channel need to be closed
        //    this.SendMessage(new ChannelEofMessage(this.RemoteChannelNumber));

        //    base.Close();
        //}

        /// <summary>
        /// Called when channel data is received.
        /// </summary>
        /// <param name="data">The data.</param>
        protected override void OnData(byte[] data)
        {
            base.OnData(data);

            if (this.dataBuffer.Length == 0)
            {
                this.dataBuffer = data;
            }
            else
            {
                int oldLength = this.dataBuffer.Length;
                Array.Resize <byte>(ref this.dataBuffer, this.dataBuffer.Length + data.Length);
                Array.Copy(data, 0, this.dataBuffer, oldLength, data.Length);
            }

            do
            {
                try
                {
                    PrivateKeyAgentMessage message = this.LoadPrivateKeyAgentMessage();
                    if (message == null)
                    {
                        break;
                    }

                    this.HandlePrivateKeyAgentMessage((dynamic)message);
                }
                catch (Exception ex)
                {
                    this.SendPrivateKeyAgentMessage(new FailureMessage());
                }
            }while (true);
        }
 private void HandlePrivateKeyAgentMessage(PrivateKeyAgentMessage message)
 {
     this.SendPrivateKeyAgentMessage(new FailureMessage());
 }
 protected void SendPrivateKeyAgentMessage(PrivateKeyAgentMessage message)
 {
     this.SendData(message.GetBytes());
 }