MAK RTIspy API Documentation for HLA 1516
Public Types | Public Member Functions | Protected Attributes
DtConnectionFaultProcessor Class Reference

The DtConnectionFaultProcessor class is a message processor responsible for responding to lost connections by initiating and participating in the RTI Exec's fault resolution algorithm. More...

+ Collaboration diagram for DtConnectionFaultProcessor:

List of all members.

Public Types

typedef bool(DtConnectionFaultProcessor::* HandshakeMsgHandlerMemberCb )(MAKRti::DtInetAddr src, const DtConnectionFaultMsg &msg)

Public Member Functions

 DtConnectionFaultProcessor (DtForwarderNode *parent)
 Default Ctor.
virtual ~DtConnectionFaultProcessor ()
 Default Dtor.
virtual bool gotForwarderStatusRequest (const MAKRti::DtInetAddr &src, const DtForwarderStatusRequestMsg msg)
 Got Forwarder Status Request Message.
virtual bool gotRemoteRtiExecConnect (const MAKRti::DtInetAddr &src, const DtRtiExecConnectMsg &msg)
 Got Remote rtiexec Connect Message from IN Port.
virtual bool gotLocalRtiExecConnect (const MAKRti::DtInetAddr &src, const DtRtiExecConnectMsg &msg)
 Got Local rtiexec Connect Message from LAN Port.
virtual bool gotRtiExecDisconnect (const MAKRti::DtInetAddr &src, const DtDisconnectMsg &msg)
 Got Local rtiexec Disconnect Message (local or remote)
virtual bool processResignForwarderMsgDestinations (const MAKRti::DtInetAddr &src, DtForwarderPort::DtAddressPortList &destinations)
 Set forwarding destination list based on source (eg.

Protected Attributes

DtForwarderNodemyParent

Detailed Description

The DtConnectionFaultProcessor class is a message processor responsible for responding to lost connections by initiating and participating in the RTI Exec's fault resolution algorithm.

When rtiexec receives ConnectionLostMsg( myForwarderID, droppedForwarderID ) rtiexec sends PingForwarderMsg( droppedForwarderID ) Forwarders aggregate all downstream PingForwarderResps and return upstream (=> return NoConnection( droppedForwarderID ) by default If rtiexec receives PingForwarderResp = NoConnection Then Forwarder has been lost no additional action required Else Both myForwarderID and droppedForwarderID are connected rtiexec sends ForwarderStatusRequestMsg( myConnectionID ) rtiexec sends ForwarderStatusRequestMsg( droppedConnectionID ) rtiexec waits for ForwarderStatusMsg (contains downstream federate count) Compare ForwarderStatusMsg( myConnectionID ).numFederates to ForwarderStatusMsg( droppedConnectionID ).numFederates rtiexec Sends ResignForwarder( ID ) where ID = either forwarder with fewer attached federates or (if equal) forwarder with lower ID (arbitrary) Required Processors (basically implement the algorithms required for fault recovery): 1) CountDownstreamFederates Processor

2) PingResponse Processor

3) ConnectionLossDetection Processor

4) ResignForwarder Processor


Member Typedef Documentation

typedef bool(DtConnectionFaultProcessor::* DtConnectionFaultProcessor::HandshakeMsgHandlerMemberCb)(MAKRti::DtInetAddr src, const DtConnectionFaultMsg &msg)

Constructor & Destructor Documentation

Default Ctor.

Default Dtor.


Member Function Documentation

virtual bool DtConnectionFaultProcessor::gotForwarderStatusRequest ( const MAKRti::DtInetAddr &  src,
const DtForwarderStatusRequestMsg  msg 
) [virtual]

Got Forwarder Status Request Message.

virtual bool DtConnectionFaultProcessor::gotLocalRtiExecConnect ( const MAKRti::DtInetAddr &  src,
const DtRtiExecConnectMsg msg 
) [virtual]

Got Local rtiexec Connect Message from LAN Port.

virtual bool DtConnectionFaultProcessor::gotRemoteRtiExecConnect ( const MAKRti::DtInetAddr &  src,
const DtRtiExecConnectMsg msg 
) [virtual]

Got Remote rtiexec Connect Message from IN Port.

virtual bool DtConnectionFaultProcessor::gotRtiExecDisconnect ( const MAKRti::DtInetAddr &  src,
const DtDisconnectMsg msg 
) [virtual]

Got Local rtiexec Disconnect Message (local or remote)

virtual bool DtConnectionFaultProcessor::processResignForwarderMsgDestinations ( const MAKRti::DtInetAddr &  src,
DtForwarderPort::DtAddressPortList destinations 
) [virtual]

Set forwarding destination list based on source (eg.

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


Member Data Documentation


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

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)