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,
82 State get_state()
const;
91 duration_type get_timeout()
const;
94 void set_timeout(duration_type timeout);
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>,
144 std::function<bool(StateMachine const &, EventData &)>> GuardMap;
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
TCP transport for the DICOM Upper Layer.
Definition: Transport.h:33
Event
Event causing the transitions.
Definition: StateMachine.h:46
Definition: Association.h:24
#define ODIL_API
Definition: odil.h:28
State machine for the DICOM upper layer.
Definition: StateMachine.h:31
boost::asio::deadline_timer::duration_type duration_type
Duration of the timeout.
Definition: StateMachine.h:67
std::function< AssociationParameters(AssociationParameters const &)> AssociationAcceptor
Callback to check whether the association request is acceptable.
Definition: AssociationAcceptor.h:30
State
States of the state machine.
Definition: StateMachine.h:36
Data related to events of the DUL state machine.
Definition: EventData.h:27