📄 aaa_session_auth_client_fsm.h
字号:
fsm.Session().Disconnect(); fsm.CancelAllTimer(); fsm.Session().Reset(); }};class AAA_SessAuthClient_Cleanup : public AAA_Action<AAA_AuthSessionClientStateMachine> { public: virtual void operator()(AAA_AuthSessionClientStateMachine &fsm) { fsm.CancelAllTimer(); fsm.Session().AbortSession(); fsm.Session().Reset(); }};class AAA_SessAuthClientStateTable : public AAA_StateTable<AAA_AuthSessionClientStateMachine>{ public: AAA_SessAuthClientStateTable() { /* State Event Action New State ------------------------------------------------------------- Idle Client or Device Requests Send Pending access service specific auth req */ AddStateTableEntry(AAA_SESSION_AUTH_ST_IDLE, AAA_SESSION_AUTH_EV_REQUEST_ACCESS, AAA_SESSION_AUTH_ST_PENDING); /* State Event Action New State ------------------------------------------------------------- Idle ASR Received Send ASA Idle for unknown session with Result-Code = UNKNOWN_ SESSION_ID */ AddStateTableEntry(AAA_SESSION_AUTH_ST_IDLE, AAA_SESSION_AUTH_EV_RX_ASR_USID, AAA_SESSION_AUTH_ST_IDLE); /* State Event Action New State ------------------------------------------------------------- Idle Service-specific authorization Discard Idle req sent service specific auth req */ AddStateTableEntry(AAA_SESSION_AUTH_ST_IDLE, AAA_SESSION_AUTH_EV_TX_SSAR, AAA_SESSION_AUTH_ST_IDLE, m_acTxSSARDiscard); /* State Event Action New State ------------------------------------------------------------- Idle Service-specific authorization Discard Idle answer received service specific auth answer */ AddStateTableEntry(AAA_SESSION_AUTH_ST_IDLE, AAA_SESSION_AUTH_EV_RX_SSAA, AAA_SESSION_AUTH_ST_IDLE, m_acRxSSAADiscard); /* State Event Action New State ------------------------------------------------------------- Idle Any None Idle */ AddWildcardStateTableEntry(AAA_SESSION_AUTH_ST_IDLE, AAA_SESSION_AUTH_ST_IDLE); /* State Event Action New State ------------------------------------------------------------- Pending Successful Service-specific Grant Open authorization answer Access received with Auth-Session- State set to NO_STATE_MAINTAINED State Event Action New State ------------------------------------------------------------- Pending Successful Service-specific Grant Open authorization answer Access received with default Auth-Session-State value */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_SSAA_OK, AAA_SESSION_AUTH_ST_OPEN, m_acGrantAccess); /* State Event Action New State ------------------------------------------------------------- Pending Successful Service-specific Sent STR Discon authorization answer received but service not provided */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_SSAA_NOSVC, AAA_SESSION_AUTH_ST_DISC, m_acTxSTRNoSvc); /* State Event Action New State ------------------------------------------------------------- Pending Error processing successful Sent STR Discon Service-specific authorization answer */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_SSAA_ERROR, AAA_SESSION_AUTH_ST_DISC, m_acTxSTRProcError); /* State Event Action New State ------------------------------------------------------------- Pending Failed Service-specific Cleanup Idle authorization answer received */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_SSAA_FAIL, AAA_SESSION_AUTH_ST_IDLE, m_acCleanup); /* State Event Action New State ------------------------------------------------------------- Pending Service-specific authorization Send Pending req sent service specific auth req */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_TX_SSAR, AAA_SESSION_AUTH_ST_PENDING, m_acTxSSAR); /* State Event Action New State ------------------------------------------------------------- Pending Service-specific authorization Accept Pending answer received service specific auth answer */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_RX_SSAA, AAA_SESSION_AUTH_ST_PENDING, m_acRxSSA); /* State Event Action New State ------------------------------------------------------------- Pending Service to user is terminated Discon. Idle user/device */ AddStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_EV_STOP, AAA_SESSION_AUTH_ST_IDLE, m_acDisconnect); /* State Event Action New State ------------------------------------------------------------- Pending Any None Pending */ AddWildcardStateTableEntry(AAA_SESSION_AUTH_ST_PENDING, AAA_SESSION_AUTH_ST_PENDING); /* State Event Action New State ------------------------------------------------------------- Open User or client device Send Open requests access to service service specific auth req */ AddStateTableEntry(AAA_SESSION_AUTH_ST_OPEN, AAA_SESSION_AUTH_EV_REQUEST_ACCESS, AAA_SESSION_AUTH_ST_OPEN); /* State Event Action New State ------------------------------------------------------------- Open Re-auth request received Send Open re-auth answer */ AddStateTableEntry(AAA_SESSION_AUTH_ST_OPEN, AAA_SESSION_AUTH_EV_RX_RAR, AAA_SESSION_AUTH_ST_OPEN, m_acRxRAR); /* State Event Action New State ------------------------------------------------------------- Open Successful Service-specific Provide Open authorization answer received Service */ AddStateTableEntry(AAA_SESSION_AUTH_ST_OPEN, AAA_SESSION_AUTH_EV_SSAA_OK, AAA_SESSION_AUTH_ST_OPEN, m_acGrantAccess); /* State Event Action New State ------------------------------------------------------------- [un-offic] Open Service-specific authorization Process Open requests received service specific */ AddStateTableEntry(AAA_SESSION_AUTH_ST_OPEN, AAA_SESSION_AUTH_EV_RX_SSAR, AAA_SESSION_AUTH_ST_OPEN, m_acRxSSA); /* State Event Action New State ------------------------------------------------------------- [un-offic] Open Service-specific authorization Send Open requests received and user service or client device can comply specific auth answer */ AddStateTableEntry(AAA_SESSION_AUTH_ST_OPEN, AAA_SESSION_AUTH_EV_SSAR_OK, AAA_SESSION_AUTH_ST_OPEN); /* State Event Action New State -------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -