MAK RTIspy API Documentation for HLA 1.3
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
DtForwarderFaultManager Class Reference

The DtForwarderFaultManager class tracks federates and forwarders within the RTI's forwarding network. More...

+ Collaboration diagram for DtForwarderFaultManager:

List of all members.

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
DtConnectionMgrmyConnectMgr
MAKRti::DtClock myClock
MAKRti::DtTime myHeartbeatPeriod
MAKRti::DtTime myLastHeartbeat

Private Member Functions

 DtForwarderFaultManager ()
 Default Ctor - unimplemented.

Detailed Description

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.


Member Typedef Documentation

typedef std::vector< unsigned long > DtForwarderFaultManager::DtConnIdList [protected]
typedef std::map< unsigned long, DtConnIdList > DtForwarderFaultManager::DtForwarderIdToConnIdsMap [protected]

Constructor & Destructor Documentation

Default Ctor - unimplemented.

DtForwarderFaultManager::DtForwarderFaultManager ( DtConnectionMgr connectMgr,
MAKRti::DtTime  heartbeatPeriod 
)

Constructor.


Member Function Documentation

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().

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]
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().


Member Data Documentation

MAKRti::DtClock DtForwarderFaultManager::myClock [protected]

Referenced by tick().

MAKRti::DtTime DtForwarderFaultManager::myHeartbeatPeriod [protected]

Referenced by tick().

MAKRti::DtTime DtForwarderFaultManager::myLastHeartbeat [protected]

Referenced by tick().


The documentation for this class was generated from the following files:

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)