LogoutTimedOut() публичный Метод

public LogoutTimedOut ( ) : bool
Результат bool
Пример #1
0
        public void Next()
        {
            //System.Console.WriteLine(state_.ToString());
            //this.Log.OnEvent(state_.ToString());

            if (!IsEnabled)
            {
                if (!IsLoggedOn)
                {
                    return;
                }

                /* TODO
                 * if (!state_.SentLogon)
                 * {
                 *  this.Log.OnEvent("Initiated logout request");
                 *  GenerateLogout(state_.LogoutReason);
                 * }
                 */
            }

            /* TODO
             * if (!CheckSessionTime())
             * {
             *  Reset();
             *  return;
             * }
             */

            if (!HasResponder)
            {
                return;
            }

            if (!state_.ReceivedLogon)
            {
                if (state_.ShouldSendLogon && IsTimeToGenerateLogon())
                {
                    if (GenerateLogon())
                    {
                        this.Log.OnEvent("Initiated logon request");
                    }
                    else
                    {
                        this.Log.OnEvent("Error during logon request initiation");
                    }
                }
                else if (state_.SentLogon && state_.LogonTimedOut())
                {
                    Disconnect("Timed out waiting for logon response");
                }
                return;
            }

            if (0 == state_.HeartBtInt)
            {
                return;
            }


            if (state_.LogoutTimedOut())
            {
                Disconnect("Timed out waiting for logout response");
            }


            if (state_.WithinHeartbeat())
            {
                return;
            }

            if (state_.TimedOut())
            {
                Disconnect("Timed out waiting for heartbeat");
            }
            else
            {
                if (state_.NeedTestRequest())
                {
                    GenerateTestRequest("TEST");
                    state_.TestRequestCounter += 1;
                    this.Log.OnEvent("Sent test request TEST");
                }
                else if (state_.NeedHeartbeat())
                {
                    GenerateHeartbeat();
                }
            }
        }