public void Handle(TcpMessage.HeartbeatTimeout message)
        {
            if (IsClosed)
            {
                return;
            }

            var msgNum = _messageNumber;

            if (message.MessageNumber != msgNum)
            {
                ScheduleHeartbeat(msgNum);
            }
            else
            {
                Stop(string.Format("HEARTBEAT TIMEOUT at msgNum {0}", msgNum));
            }
        }
        public void Handle(TcpMessage.HeartbeatTimeout message)
        {
            if (_isClosed)
            {
                return;
            }

            var msgNum = _messageNumber;

            if (message.MessageNumber != msgNum)
            {
                ScheduleHeartbeat(msgNum);
            }
            else
            {
                Log.Info("[{0}] Closing due to HEARTBEAT TIMEOUT at msgNum {1}.", message.EndPoint, msgNum);
                _connection.Close();
            }
        }