MAK RTIspy API Documentation for HLA Evolved
List of all members | 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:

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

DtForwarderFaultManager::DtForwarderFaultManager ( )
private

Default Ctor - unimplemented.

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

Constructor.

DtForwarderFaultManager::~DtForwarderFaultManager ( )
virtual

Member Function Documentation

void DtForwarderFaultManager::disconnectFederates ( const DtConnIdList federates) const
protectedvirtual

Send a disconnect for each federate in the list.

References DtConnectionMgr::internalTransportType(), myConnectMgr, and DtConnectionMgr::send().

Referenced by processPing().

void DtForwarderFaultManager::pingAllForwarders ( ) const
protectedvirtual

Send a ping to each known forwarder.

References myForwarderToFederatesMap, and pingForwarder().

Referenced by processConnectionLost(), and tick().

void DtForwarderFaultManager::pingForwarder ( unsigned long  forwarderId) const
protectedvirtual

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)
protectedvirtual

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)
protectedvirtual

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)
protectedvirtual
void DtForwarderFaultManager::resignForwarder ( unsigned long  forwarderId) const
protectedvirtual

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

DtConnectionMgr* DtForwarderFaultManager::myConnectMgr
protected
DtForwarderIdToConnIdsMap DtForwarderFaultManager::myForwarderToFederatesMap
protected
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 Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)