MAK RTIspy API Documentation for HLA 1516
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtForwarderFaultProcessor Class Reference

The DtForwarderFaultProcessor class provides connection fault processing to the Forwarder Node. More...

+ Collaboration diagram for DtForwarderFaultProcessor:

List of all members.

Public Member Functions

 DtForwarderFaultProcessor (DtForwarderNode *parent)
 Constructor.
virtual ~DtForwarderFaultProcessor ()
 Destructor.
virtual bool processExecConnectDestinations (const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations)
 Set forwarding destination list based on source (eg.
virtual bool isLocalGroupMember (const DtInetAddrAndPort &addr)
 Aids to determine inbound and outbound connections to rtiexec.
virtual DtInetAddrAndPort locateGroupPortal (const DtInetAddrAndPort &addr)
virtual DtInetAddrAndPort localNodeAddress ()
 Return parent node address.
virtual DtInetAddrAndPort rootForwarder ()
 Return address of rtiexec's Root Forwarder.
virtual DtInetAddrAndPort nextHopTowardRootForwarder ()
 Return address of next upstream outbound hop toward rtiexec's Root Forwarder.

Static Public Member Functions

static int lostConnection (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &connAddr, void *usr)
 Connection loss callback.
static int newConnection (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &connAddr, void *usr)
 Connection added callback ( used to provide rtiexec location to late joiners )

Protected Member Functions

virtual int lostConnection (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &connAddr)
 Connection loss callback.
virtual int newConnection (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &connAddr)
 Connection added callback ( used to provide rtiexec location to late joiners )
virtual void processLostUpstreamConnection ()
 Handle broken connection in the upstream path to the rtiexec.

Protected Attributes

DtForwarderNodemyParent
DtRtiExecConnectionFilter
< DtForwarderFaultProcessor
myRtiExecMonitor

Private Member Functions

 DtForwarderFaultProcessor ()
 Default constructor unimplemented.

Detailed Description

The DtForwarderFaultProcessor class provides connection fault processing to the Forwarder Node.

By default, the DtForwarderFaultProcessor responds to lost connections by issuing a forwarderConnectionLost msg. The upstream connection between every forwarder and the rtiexec may consist of two separate pathways. Messages sent by the rtiexec will pass through the "root" forwarder (the forwarder directly connected to the rtiexec) to a single portal forwarder in other forwarder groups. Messages from forwarders in foreign forwarder groups (where "foreign" here means they are not in the same group as the "root" forwarder) will be sent through the portal they are connected to in the root Forwarder Group. In many cases, such as when there is only one forwarder in each Forwarder Group (the degenerate case) the pathways overlap completely. However it is also possible that the two pathways diverge. If either pathway of the upstream connection to the RTI Exec is lost then, by default, the DtForwarderFaultProcessor responds by exiting the Forwarder Node (this will result in a chain reaction for downstream Nodes)


Constructor & Destructor Documentation

Default constructor unimplemented.


Member Function Documentation

Aids to determine inbound and outbound connections to rtiexec.

References myParent, and DtForwarderNode::routeMap().

Referenced by newConnection(), nextHopTowardRootForwarder(), and processExecConnectDestinations().

Return parent node address.

References DtForwarderNode::localNodeAddress(), and myParent.

Referenced by processExecConnectDestinations().

int DtForwarderFaultProcessor::lostConnection ( const MAKRti::DtString &  connName,
unsigned int  connID,
const DtInetAddrAndPort connAddr,
void *  usr 
) [static]

Connection loss callback.

Referenced by DtForwarderFaultProcessor(), and ~DtForwarderFaultProcessor().

int DtForwarderFaultProcessor::lostConnection ( const MAKRti::DtString &  connName,
unsigned int  connID,
const DtInetAddrAndPort connAddr 
) [protected, virtual]
int DtForwarderFaultProcessor::newConnection ( const MAKRti::DtString &  connName,
unsigned int  connID,
const DtInetAddrAndPort connAddr,
void *  usr 
) [static]

Connection added callback ( used to provide rtiexec location to late joiners )

Referenced by DtForwarderFaultProcessor(), and ~DtForwarderFaultProcessor().

int DtForwarderFaultProcessor::newConnection ( const MAKRti::DtString &  connName,
unsigned int  connID,
const DtInetAddrAndPort connAddr 
) [protected, virtual]

Return address of next upstream outbound hop toward rtiexec's Root Forwarder.

References isLocalGroupMember(), locateGroupPortal(), myRtiExecMonitor, rootForwarder(), and DtRtiExecConnectionFilter< ParentType >::rootForwarder().

Referenced by DtForwarderNode::nextHopToExec().

Set forwarding destination list based on source (eg.

which inlet the message was received on) and forwarder network configuration

References isLocalGroupMember(), localNodeAddress(), DtForwarderNode::localNodeAddress(), myParent, and DtForwarderNode::routeMap().

Referenced by DtForwarderFaultProcessor().

Handle broken connection in the upstream path to the rtiexec.

Referenced by lostConnection().


Member Data Documentation


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)