![]() |
MAK RTIspy API Documentation for HLA 1516
|
The DtForwarderFaultManager class tracks federates and forwarders within the RTI's forwarding network. More...
Collaboration diagram for DtForwarderFaultManager:Public Member Functions | |
| DtForwarderFaultManager (DtConnectionMgr *connectMgr, MAKRti::DtTime heartbeatPeriod) | |
| Constructor. | |
| virtual | ~DtForwarderFaultManager () |
| Destructor. | |
| virtual void | tick () |
| Tick - periodically heartbeat connected forwarders (otherwise faults will not be caught until a reliable msg is sent) | |
Static Public Member Functions | |
| static void | processJoin (const DtJoinMsg &msg, void *usr) |
| Callback on the Connect message. | |
| static void | processConnectionLost (const DtForwarderConnectionLostMsg &msg, void *usr) |
| Callback on the ForwarderConnectionLost message. | |
| static void | processPing (const DtForwarderPingMsg &msg, void *usr) |
| Callback on the ForwarderPing message. | |
Protected Types | |
| typedef std::vector< unsigned long > | DtConnIdList |
| typedef std::map< unsigned long, DtConnIdList > | DtForwarderIdToConnIdsMap |
Protected Member Functions | |
| virtual void | processJoin (const DtJoinMsg &msg) |
| Called when a Connect message is received Used to track forwarders and the federates connected to them. | |
| virtual void | processConnectionLost (const DtForwarderConnectionLostMsg &msg) |
| Callback on the ForwarderConnectionLost message Signals the start of a fault recovery cycle. | |
| virtual void | processPing (const DtForwarderPingMsg &msg) |
| Callback on the ForwarderPing message Used to identify faulty/normal forwarders. | |
| virtual void | pingAllForwarders () const |
| Send a ping to each known forwarder. | |
| virtual void | pingForwarder (unsigned long forwarderId) const |
| Send a ping message to the specified forwarder. | |
| virtual void | resignForwarder (unsigned long forwarderId) const |
| Send a resign message to the specified forwarder. | |
| virtual void | disconnectFederates (const DtConnIdList &federates) const |
| Send a disconnect for each federate in the list. | |
Protected Attributes | |
| DtForwarderIdToConnIdsMap | myForwarderToFederatesMap |
| DtConnectionMgr * | myConnectMgr |
| MAKRti::DtClock | myClock |
| MAKRti::DtTime | myHeartbeatPeriod |
| MAKRti::DtTime | myLastHeartbeat |
Private Member Functions | |
| DtForwarderFaultManager () | |
| Default Ctor - unimplemented. | |
The DtForwarderFaultManager class tracks federates and forwarders within the RTI's forwarding network.
In a distributed forwarder network the DtForwarderFaultManager is responsible for detecting and handling faults reported by the forwarders.
typedef std::vector< unsigned long > DtForwarderFaultManager::DtConnIdList [protected] |
typedef std::map< unsigned long, DtConnIdList > DtForwarderFaultManager::DtForwarderIdToConnIdsMap [protected] |
| DtForwarderFaultManager::DtForwarderFaultManager | ( | ) | [private] |
Default Ctor - unimplemented.
| DtForwarderFaultManager::DtForwarderFaultManager | ( | DtConnectionMgr * | connectMgr, |
| MAKRti::DtTime | heartbeatPeriod | ||
| ) |
Constructor.
| DtForwarderFaultManager::~DtForwarderFaultManager | ( | ) | [virtual] |
| void DtForwarderFaultManager::disconnectFederates | ( | const DtConnIdList & | federates | ) | const [protected, virtual] |
Send a disconnect for each federate in the list.
References DtConnectionMgr::internalTransportType(), myConnectMgr, and DtConnectionMgr::send().
Referenced by processPing().
| void DtForwarderFaultManager::pingAllForwarders | ( | ) | const [protected, virtual] |
Send a ping to each known forwarder.
References myForwarderToFederatesMap, and pingForwarder().
Referenced by processConnectionLost(), and tick().
| void DtForwarderFaultManager::pingForwarder | ( | unsigned long | forwarderId | ) | const [protected, virtual] |
Send a ping message to the specified forwarder.
References DtConnectionMgr::internalTransportType(), myConnectMgr, DtForwarderPingMsg::PingRequest, and DtConnectionMgr::send().
Referenced by pingAllForwarders().
| void DtForwarderFaultManager::processConnectionLost | ( | const DtForwarderConnectionLostMsg & | msg, |
| void * | usr | ||
| ) | [static] |
Callback on the ForwarderConnectionLost message.
Referenced by ~DtForwarderFaultManager().
| void DtForwarderFaultManager::processConnectionLost | ( | const DtForwarderConnectionLostMsg & | msg | ) | [protected, virtual] |
Callback on the ForwarderConnectionLost message Signals the start of a fault recovery cycle.
References pingAllForwarders().
| void DtForwarderFaultManager::processJoin | ( | const DtJoinMsg & | msg, |
| void * | usr | ||
| ) | [static] |
Callback on the Connect message.
Referenced by ~DtForwarderFaultManager().
| void DtForwarderFaultManager::processJoin | ( | const DtJoinMsg & | msg | ) | [protected, virtual] |
Called when a Connect message is received Used to track forwarders and the federates connected to them.
References myForwarderToFederatesMap, and DtJoinMsg::sourceID().
| void DtForwarderFaultManager::processPing | ( | const DtForwarderPingMsg & | msg, |
| void * | usr | ||
| ) | [static] |
Callback on the ForwarderPing message.
Referenced by ~DtForwarderFaultManager().
| void DtForwarderFaultManager::processPing | ( | const DtForwarderPingMsg & | msg | ) | [protected, virtual] |
Callback on the ForwarderPing message Used to identify faulty/normal forwarders.
References DtForwarderPingMsg::destination(), disconnectFederates(), myForwarderToFederatesMap, DtForwarderPingMsg::PingResponseNotFound, DtForwarderPingMsg::pingStatus(), and resignForwarder().
| void DtForwarderFaultManager::resignForwarder | ( | unsigned long | forwarderId | ) | const [protected, virtual] |
Send a resign message to the specified forwarder.
References DtConnectionMgr::internalTransportType(), myConnectMgr, DtForwarderResignMsg::ResignCommand, and DtConnectionMgr::send().
Referenced by processPing().
| void DtForwarderFaultManager::tick | ( | ) | [virtual] |
Tick - periodically heartbeat connected forwarders (otherwise faults will not be caught until a reliable msg is sent)
References myClock, myHeartbeatPeriod, myLastHeartbeat, and pingAllForwarders().
MAKRti::DtClock DtForwarderFaultManager::myClock [protected] |
Referenced by tick().
DtConnectionMgr* DtForwarderFaultManager::myConnectMgr [protected] |
Referenced by disconnectFederates(), pingForwarder(), resignForwarder(), and ~DtForwarderFaultManager().
Referenced by pingAllForwarders(), processJoin(), and processPing().
MAKRti::DtTime DtForwarderFaultManager::myHeartbeatPeriod [protected] |
Referenced by tick().
MAKRti::DtTime DtForwarderFaultManager::myLastHeartbeat [protected] |
Referenced by tick().