📄 aaa_peer_fsm.h
字号:
AAA_PEER_EV_I_RCV_CONN_ACK, AAA_PEER_ST_WAIT_I_CEA, m_acISendCER); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK, AAA_PEER_EV_I_RCV_CONN_NACK, AAA_PEER_ST_CLOSED, m_acConnNack); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK, AAA_PEER_EV_R_CONN_CER, AAA_PEER_ST_WAIT_CONN_ACK_ELECT, m_acRAccept); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK, AAA_PEER_EV_TIMEOUT, AAA_PEER_ST_CLOSED, m_acError); // ------------- AAA_PEER_ST_WAIT_CEA ---------------- AddStateTableEntry(AAA_PEER_ST_WAIT_I_CEA, AAA_PEER_EV_I_RCV_CEA, AAA_PEER_ST_I_OPEN, m_acProcessCEA); AddStateTableEntry(AAA_PEER_ST_WAIT_I_CEA, AAA_PEER_EV_R_CONN_CER, AAA_PEER_ST_WAIT_RETURNS, m_acRAcceptElect); AddStateTableEntry(AAA_PEER_ST_WAIT_I_CEA, AAA_PEER_EV_I_PEER_DISC, AAA_PEER_ST_CLOSED, m_acDisconnect); AddStateTableEntry(AAA_PEER_ST_WAIT_I_CEA, AAA_PEER_EV_I_RCV_NON_CEA, AAA_PEER_ST_CLOSED, m_acError); AddStateTableEntry(AAA_PEER_ST_WAIT_I_CEA, AAA_PEER_EV_TIMEOUT, AAA_PEER_ST_CLOSED, m_acError); // ------------- AAA_PEER_ST_WAIT_CONN_ACK_ELECT ---------------- AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK_ELECT, AAA_PEER_EV_I_RCV_CONN_ACK, AAA_PEER_ST_WAIT_RETURNS, m_acISendCERElect); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK_ELECT, AAA_PEER_EV_I_RCV_CONN_NACK, AAA_PEER_ST_R_OPEN, m_acRSendCEA); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK_ELECT, AAA_PEER_EV_R_PEER_DISC, AAA_PEER_ST_WAIT_CONN_ACK, m_acRDisconnectResp); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK_ELECT, AAA_PEER_EV_R_CONN_CER, AAA_PEER_ST_WAIT_CONN_ACK_ELECT, m_acRReject); AddStateTableEntry(AAA_PEER_ST_WAIT_CONN_ACK_ELECT, AAA_PEER_EV_TIMEOUT, AAA_PEER_ST_CLOSED, m_acError); // ------------- AAA_PEER_ST_WAIT_RETURNS ---------------- AddStateTableEntry(AAA_PEER_ST_WAIT_RETURNS, AAA_PEER_EV_WIN_ELECTION, AAA_PEER_ST_R_OPEN, m_acIDisconnectSendCEA); AddStateTableEntry(AAA_PEER_ST_WAIT_RETURNS, AAA_PEER_EV_I_PEER_DISC, AAA_PEER_ST_R_OPEN, m_acIDisconnectSendCEA); AddStateTableEntry(AAA_PEER_ST_WAIT_RETURNS, AAA_PEER_EV_I_RCV_CEA, AAA_PEER_ST_I_OPEN, m_acRDisconnectIOpen); AddStateTableEntry(AAA_PEER_ST_WAIT_RETURNS, AAA_PEER_EV_R_PEER_DISC, AAA_PEER_ST_WAIT_I_CEA, m_acRDisconnectResp); AddStateTableEntry(AAA_PEER_ST_WAIT_RETURNS, AAA_PEER_EV_R_CONN_CER, AAA_PEER_ST_WAIT_RETURNS, m_acRReject); AddStateTableEntry(AAA_PEER_ST_WAIT_RETURNS, AAA_PEER_EV_TIMEOUT, AAA_PEER_ST_CLOSED, m_acError); // ------------- AAA_PEER_ST_R_OPEN ---------------- AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_SEND_MESSAGE, AAA_PEER_ST_R_OPEN, m_acRSendMessage); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_RCV_MESSAGE, AAA_PEER_ST_R_OPEN, m_acProcess); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_RCV_DWR, AAA_PEER_ST_R_OPEN, m_acProcessDWRSendDWA); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_RCV_DWA, AAA_PEER_ST_R_OPEN, m_acProcessDWA); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_CONN_CER, AAA_PEER_ST_R_OPEN, m_acRReject); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_STOP, AAA_PEER_ST_CLOSING, m_acRSendDPR); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_RCV_DPR, AAA_PEER_ST_CLOSED, m_acRSendDPADisconnect); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_PEER_DISC, AAA_PEER_ST_CLOSED, m_acDisconnect); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_RCV_CER, AAA_PEER_ST_R_OPEN, m_acRSendCEAOpen); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_R_RCV_CEA, AAA_PEER_ST_R_OPEN, m_acProcessCEA); AddStateTableEntry(AAA_PEER_ST_R_OPEN, AAA_PEER_EV_WATCHDOG, AAA_PEER_ST_R_OPEN, m_acWatchdog); // ------------- AAA_PEER_ST_I_OPEN ---------------- AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_SEND_MESSAGE, AAA_PEER_ST_I_OPEN, m_acISendMessage); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_RCV_MESSAGE, AAA_PEER_ST_I_OPEN, m_acProcess); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_RCV_DWR, AAA_PEER_ST_I_OPEN, m_acProcessDWRSendDWA); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_RCV_DWA, AAA_PEER_ST_I_OPEN, m_acProcessDWA); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_R_CONN_CER, AAA_PEER_ST_I_OPEN, m_acRReject); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_STOP, AAA_PEER_ST_CLOSING, m_acISendDPR); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_RCV_DPR, AAA_PEER_ST_CLOSED, m_acISendDPADisconnect); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_PEER_DISC, AAA_PEER_ST_CLOSED, m_acDisconnect); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_RCV_CER, AAA_PEER_ST_I_OPEN, m_acISendCEA); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_I_RCV_CEA, AAA_PEER_ST_I_OPEN, m_acProcessCEA); AddStateTableEntry(AAA_PEER_ST_I_OPEN, AAA_PEER_EV_WATCHDOG, AAA_PEER_ST_I_OPEN, m_acWatchdog); // ------------- AAA_PEER_ST_CLOSING ---------------- AddStateTableEntry(AAA_PEER_ST_CLOSING, AAA_PEER_EV_I_RCV_DPA, AAA_PEER_ST_CLOSED, m_acDisconnectDPA); AddStateTableEntry(AAA_PEER_ST_CLOSING, AAA_PEER_EV_R_RCV_DPA, AAA_PEER_ST_CLOSED, m_acDisconnectDPA); AddStateTableEntry(AAA_PEER_ST_CLOSING, AAA_PEER_EV_TIMEOUT, AAA_PEER_ST_CLOSED, m_acError); AddStateTableEntry(AAA_PEER_ST_CLOSING, AAA_PEER_EV_I_PEER_DISC, AAA_PEER_ST_CLOSED, m_acDisconnect); AddStateTableEntry(AAA_PEER_ST_CLOSING, AAA_PEER_EV_R_PEER_DISC, AAA_PEER_ST_CLOSED, m_acDisconnect); AddWildcardStateTableEntry(AAA_PEER_ST_CLOSING, AAA_PEER_ST_CLOSING); InitialState(AAA_PEER_ST_CLOSED); } private: AAA_PeerR_ISendConnReq m_acISendConnReq; AAA_PeerR_AcceptSendCEA m_acRAcceptSendCEA; AAA_PeerI_SendCER m_acISendCER; AAA_Peer_ConnNack m_acConnNack; AAA_Peer_Cleanup m_acCleanup; AAA_Peer_Retry m_acRetry; AAA_PeerR_Accept m_acRAccept; AAA_Peer_Error m_acError; AAA_Peer_ProcessCEA m_acProcessCEA; AAA_PeerR_AcceptElect m_acRAcceptElect; AAA_Peer_Disconnect m_acDisconnect; AAA_Peer_DisconnectDPA m_acDisconnectDPA; AAA_PeerI_SendCERElect m_acISendCERElect; AAA_PeerR_SendCEA m_acRSendCEA; AAA_PeerR_SendCEAOpen m_acRSendCEAOpen; AAA_PeerR_DisconnectResp m_acRDisconnectResp; AAA_PeerR_DisconnectIOpen m_acRDisconnectIOpen; AAA_PeerR_Reject m_acRReject; AAA_PeerI_DisconnectSendCEA m_acIDisconnectSendCEA; AAA_PeerR_SendMessage m_acRSendMessage; AAA_Peer_Process m_acProcess; AAA_PeerProcessDWRSendDWA m_acProcessDWRSendDWA; AAA_Peer_ProcessDWA m_acProcessDWA; AAA_PeerI_SendDPR m_acISendDPR; AAA_PeerR_SendDPR m_acRSendDPR; AAA_PeerI_SendDPADisconnect m_acISendDPADisconnect; AAA_PeerR_SendDPADisconnect m_acRSendDPADisconnect; AAA_PeerI_SendMessage m_acISendMessage; AAA_PeerI_SendCEA m_acISendCEA; AAA_Peer_Watchdog m_acWatchdog; };class AAA_PeerStateMachine : public AAA_StateMachineWithTimer<AAA_PeerStateMachine>, AAA_Job{ public: AAA_PeerData &Data() { return m_Data; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -