9 #ifndef _981c80db_b2ac_4f25_af6c_febf5563d178
10 #define _981c80db_b2ac_4f25_af6c_febf5563d178
17 #include <boost/asio.hpp>
39 Sta2, Sta3, Sta4, Sta5,
41 Sta7, Sta8, Sta9, Sta10, Sta11, Sta12,
49 TransportConnectionIndication, TransportConnectionConfirmation,
50 TransportConnectionClosedIndication,
52 AAssociateRQLocal, AAssociateRQRemote,
53 AAssociateACLocal, AAssociateACRemote,
54 AAssociateRJLocal, AAssociateRJRemote,
56 AReleaseRQLocal, AReleaseRQRemote,
57 AReleaseRPLocal, AReleaseRPRemote,
59 PDataTFLocal, PDataTFRemote,
61 AAbortLocal, AAbortRemote,
63 ARTIMTimerExpired, InvalidPDU,
67 typedef boost::asio::deadline_timer::duration_type duration_type;
79 void transition(Event
const & event,
EventData & data);
82 State get_state()
const;
132 AE_1, AE_2, AE_3, AE_4, AE_5, AE_6, AE_7, AE_8,
134 AR_1, AR_2, AR_3, AR_4, AR_5, AR_6, AR_7, AR_8, AR_9, AR_10,
135 AA_1, AA_2, AA_3, AA_4, AA_5, AA_6, AA_7, AA_8
139 std::tuple<State, Event, bool>,
140 std::pair<Action, State>> TransitionMap;
143 std::pair<State, Event>,
146 static TransitionMap
const _transitions;
147 static GuardMap
const _guards;
156 duration_type _timeout;
159 boost::asio::deadline_timer _artim_timer;
165 void _send_pdu(
EventData & data, uint8_t pdu_type);
275 #endif // _981c80db_b2ac_4f25_af6c_febf5563d178