⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pana_paa_fsm.cxx

📁 Diameter协议栈
💻 CXX
📖 第 1 页 / 共 5 页
字号:
    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_SUCC_PBA,                        m_PaaExitActionTxPBREapSuccess);    /////////////////////////////////////////////////////////////////    // EAP_SUCCESS &&           PBR.insert_avp             WAIT_FAIL_PBA    // 1ST_EAP==Failure &&      ("EAP-Payload");  <--- victor: new_key_available()    // SEPARATE==Set &&         if (key_available())    // !Authorize()               PBR.insert_avp("AUTH");    //                          PBR.S_flag=1;    //                          if (NAP_AUTH)    //                            PBR.N_flag=1;    //                          Tx:PBR();    //                          RtxTimerStart();    //     ev.Reset();    ev.Event_Eap(PANA_EV_EAP_SUCCESS);    ev.Result_FirstEap(PANA_EAP_RESULT_FAIL);    ev.Do_Separate();    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_FAIL_PBA,                        m_PaaExitActionTxPBREapSuccessFail);    /////////////////////////////////////////////////////////////////    // EAP_TIMEOUT &&           if (key_available())       WAIT_FAIL_PBA    // 1ST_EAP==Failure &&        PBR.insert_avp("AUTH");    // SEPARATE==Set            PBR.S_flag=1;    //                         if (NAP_AUTH)    //                           PBR.N_flag=1;    //                         Tx:PBR();    //                         RtxTimerStart();    //    ev.Reset();    ev.Event_Eap(PANA_EV_EAP_TIMEOUT);    ev.Result_FirstEap(PANA_EAP_RESULT_FAIL);    ev.Do_Separate();    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_FAIL_PBA,                        m_PaaExitActionTxPBREapTimeout);    /////////////////////////////////////////////////////////////////    // EAP_TIMEOUT &&           if (CARRY_DEVICE_ID==Set)  WAIT_SUCC_PBA    // 1ST_EAP==Success &&        PBR.insert_avp    // SEPARATE==Set &&           ("Device-Id");    // Authorize()              if (CARRY_LIFETIME==Set)    //                            PBR.insert_avp    //                            ("Session-Lifetime");    //                          if (PROTECTION_CAP_IN_PBR    //                              ==Set)    //                            PBR.insert_avp    //                            ("Protection-Cap.");    //                          if (new_key_available())    //                            PBR.insert_avp    //                            ("Key-Id");    //                          if (key_available())    //                            PBR.insert_avp("AUTH");    //                          PBR.S_flag=1;    //                          if (NAP_AUTH)    //                            PBR.N_flag=1;    //                          Tx:PBR();    //                          RtxTimerStart();    //    ev.Reset();    ev.Event_Eap(PANA_EV_EAP_TIMEOUT);    ev.Result_FirstEap(PANA_EAP_RESULT_SUCCESS);    ev.Do_Separate();    ev.Do_Authorize();    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_SUCC_PBA,                        m_PaaExitActionTxPBREapTimeoutSuccess);    /////////////////////////////////////////////////////////////////    // EAP_TIMEOUT &&           if (key_available())       WAIT_FAIL_PBA    // 1ST_EAP==Success &&        PBR.insert_avp("AUTH");    // SEPARATE==Set &&         PBR.S_flag=1;    // !Authorize()             if (NAP_AUTH)    //                           PBR.N_flag=1;    //                          Tx:PBR();    //                          RtxTimerStart();    //    ev.Reset();    ev.Event_Eap(PANA_EV_EAP_TIMEOUT);    ev.Result_FirstEap(PANA_EAP_RESULT_SUCCESS);    ev.Do_Separate();    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_FAIL_PBA,                        m_PaaExitActionTxPBREapTimeout);    /////////////////////////////////////////////////////////////////    // RTX_TIMEOUT &&           Disconnect();              CLOSED    // RTX_COUNTER>=    // RTX_MAX_NUM    //    ev.Reset();    ev.Do_RetryTimeout();    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaExitActionTimeout);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (Reach maximum number of retransmission)- -    // RTX_TIMEOUT &&           Retransmit();              (no change)    // RTX_COUNTER<    // RTX_MAX_NUM    //    ev.Reset();    ev.Do_ReTransmission();    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_EAP_MSG,                        m_PaaExitActionRetransmission);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (PANA-Error-Message-Processing)- -    // Rx:PER &&                PEA.insert_avp("AUTH");     CLOSED    // fatal                    Tx:PEA();    // (PER.RESULT_CODE) &&     Disconnect();    // PER.exist_avp("AUTH") &&    // key_available()    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PER);    ev.Do_FatalError(); // fatal(PER.RESULT_CODE) &&                        // PER.exist_avp("AUTH") &&                        // key_available()    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaExitActionTxPEA);    /////////////////////////////////////////////////////////////////    // Rx:PER &&                Tx:PEA();                  (no change)    // !fatal    // (PER.RESULT_CODE) ||    // !PER.exist_avp("AUTH") ||    // !key_available()    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PER);    AddStateTableEntry(PANA_ST_WAIT_EAP_MSG, ev.Get(),                        PANA_ST_WAIT_EAP_MSG,                        m_PaaExitActionTxPEA);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (Catch all processing)- -    //#if !defined(PANA_DEBUG)    AddWildcardStateTableEntry(PANA_ST_WAIT_EAP_MSG,                                PANA_ST_WAIT_EAP_MSG);#endif    // ----------------    // State: WAIT_PFEA    // ----------------    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - - -(PFEA Processing)- - - - - - - - - - - -    // Rx:PFEA &&               RtxTimerStop();            WAIT_EAP_MSG    // (1ST_EAP==Success ||     EAP_Restart();    // (PFEA.S_flag==1 &&      if (NAP_AUTH==Set)    //  1ST_EAP==Failure))         NAP_AUTH=Unset;    //                         else    //                             NAP_AUTH=Set;    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PFEA);    ev.EnableFlag_Separate();  // (1ST_EAP==Success ||                               // (PFEA.S_flag==1 &&                               //  1ST_EAP==Failure))    AddStateTableEntry(PANA_ST_WAIT_PFEA, ev.Get(),                        PANA_ST_WAIT_EAP_MSG,                        m_PaaWaitPFEAExitActionRxPFEASuccess);    /////////////////////////////////////////////////////////////////    // Rx:PFEA &&               RtxTimerStop();            CLOSED    // PFEA.S_flag==0 &&        Disconnect();    // 1ST_EAP==Failure    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PFEA);    AddStateTableEntry(PANA_ST_WAIT_PFEA, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaWaitPFEAExitActionRxPFEAFail);    /////////////////////////////////////////////////////////////////    // RTX_TIMEOUT &&           Disconnect();              CLOSED    // RTX_COUNTER>=    // RTX_MAX_NUM    //    ev.Reset();    ev.Do_RetryTimeout();    AddStateTableEntry(PANA_ST_WAIT_PFEA, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaExitActionTimeout);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (Reach maximum number of retransmission)- -    // RTX_TIMEOUT &&           Retransmit();              (no change)    // RTX_COUNTER<    // RTX_MAX_NUM    //    ev.Reset();    ev.Do_ReTransmission();    AddStateTableEntry(PANA_ST_WAIT_PFEA, ev.Get(),                        PANA_ST_WAIT_PFEA,                        m_PaaExitActionRetransmission);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (PANA-Error-Message-Processing)- -    // Rx:PER &&                PEA.insert_avp("AUTH");     CLOSED    // fatal                    Tx:PEA();    // (PER.RESULT_CODE) &&     Disconnect();    // PER.exist_avp("AUTH") &&    // key_available()    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PER);    ev.Do_FatalError(); // fatal(PER.RESULT_CODE) &&                        // PER.exist_avp("AUTH") &&                        // key_available()    AddStateTableEntry(PANA_ST_WAIT_PFEA, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaExitActionTxPEA);    /////////////////////////////////////////////////////////////////    // Rx:PER &&                Tx:PEA();                  (no change)    // !fatal    // (PER.RESULT_CODE) ||    // !PER.exist_avp("AUTH") ||    // !key_available()    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PER);    AddStateTableEntry(PANA_ST_WAIT_PFEA, ev.Get(),                        PANA_ST_WAIT_PFEA,                        m_PaaExitActionTxPEA);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (Catch all processing)- -    //#if !defined(PANA_DEBUG)    AddWildcardStateTableEntry(PANA_ST_WAIT_PFEA,                                PANA_ST_WAIT_PFEA);#endif    // ---------------------    // State: WAIT_FAIL_PFEA    // ---------------------    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - - - - -(PFEA Processing)- - - - - - - - - -    // Rx:PFEA                 RtxTimerStop();            CLOSED    //                         Disconnect();    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PFEA);    AddStateTableEntry(PANA_ST_WAIT_FAIL_PFEA, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaWaitPFEAExitActionRxPFEAFail);    /////////////////////////////////////////////////////////////////    // RTX_TIMEOUT &&           Disconnect();              CLOSED    // RTX_COUNTER>=    // RTX_MAX_NUM    //    ev.Reset();    ev.Do_RetryTimeout();    AddStateTableEntry(PANA_ST_WAIT_FAIL_PFEA, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaExitActionTimeout);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (Reach maximum number of retransmission)- -    // RTX_TIMEOUT &&           Retransmit();              (no change)    // RTX_COUNTER<    // RTX_MAX_NUM    //    ev.Reset();    ev.Do_ReTransmission();    AddStateTableEntry(PANA_ST_WAIT_FAIL_PFEA, ev.Get(),                        PANA_ST_WAIT_FAIL_PFEA,                        m_PaaExitActionRetransmission);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (PANA-Error-Message-Processing)- -    // Rx:PER &&                PEA.insert_avp("AUTH");     CLOSED    // fatal                    Tx:PEA();    // (PER.RESULT_CODE) &&     Disconnect();    // PER.exist_avp("AUTH") &&    // key_available()    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PER);    ev.Do_FatalError(); // fatal(PER.RESULT_CODE) &&                        // PER.exist_avp("AUTH") &&                        // key_available()    AddStateTableEntry(PANA_ST_WAIT_FAIL_PFEA, ev.Get(),                        PANA_ST_CLOSED,                        m_PaaExitActionTxPEA);    /////////////////////////////////////////////////////////////////    // Rx:PER &&                Tx:PEA();                  (no change)    // !fatal    // (PER.RESULT_CODE) ||    // !PER.exist_avp("AUTH") ||    // !key_available()    //    ev.Reset();    ev.MsgType(PANA_EV_MTYPE_PER);    AddStateTableEntry(PANA_ST_WAIT_FAIL_PFEA, ev.Get(),                        PANA_ST_WAIT_FAIL_PFEA,                        m_PaaExitActionTxPEA);    /////////////////////////////////////////////////////////////////    // - - - - - - - - - - (Catch all processing)- -    //

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -