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

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

DtForwarderFaultProcessor::DtForwarderFaultProcessor ( )
private

Default constructor unimplemented.

DtForwarderFaultProcessor::DtForwarderFaultProcessor ( DtForwarderNode parent)
DtForwarderFaultProcessor::~DtForwarderFaultProcessor ( )
virtual

Member Function Documentation

bool DtForwarderFaultProcessor::isLocalGroupMember ( const DtInetAddrAndPort addr)
virtual

Aids to determine inbound and outbound connections to rtiexec.

References myParent, and DtForwarderNode::routeMap().

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

DtInetAddrAndPort DtForwarderFaultProcessor::localNodeAddress ( )
virtual

Return parent node address.

References DtForwarderNode::localNodeAddress(), and myParent.

Referenced by processExecConnectDestinations().

DtInetAddrAndPort DtForwarderFaultProcessor::locateGroupPortal ( const DtInetAddrAndPort addr)
virtual
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 
)
protectedvirtual
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 
)
protectedvirtual
DtInetAddrAndPort DtForwarderFaultProcessor::nextHopTowardRootForwarder ( )
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().

bool DtForwarderFaultProcessor::processExecConnectDestinations ( const DtInetAddrAndPort src,
DtForwarderPort::DtAddressPortList destinations 
)
virtual

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

void DtForwarderFaultProcessor::processLostUpstreamConnection ( )
protectedvirtual

Handle broken connection in the upstream path to the rtiexec.

Referenced by lostConnection().

DtInetAddrAndPort DtForwarderFaultProcessor::rootForwarder ( )
virtual

Member Data Documentation

DtForwarderNode* DtForwarderFaultProcessor::myParent
protected
DtRtiExecConnectionFilter<DtForwarderFaultProcessor> DtForwarderFaultProcessor::myRtiExecMonitor
protected

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

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)