![]() |
MAK RTIspy API Documentation for HLA 1.3
|
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 | |
| DtForwarderNode * | myParent |
| DtRtiExecConnectionFilter < DtForwarderFaultProcessor > | myRtiExecMonitor |
Private Member Functions | |
| DtForwarderFaultProcessor () | |
| Default constructor unimplemented. | |
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)
| DtForwarderFaultProcessor::DtForwarderFaultProcessor | ( | ) | [private] |
Default constructor unimplemented.
Constructor.
References DtForwarderPort::addConnectionEstablishedCb(), DtForwarderPort::addConnectionLostCb(), DtForwarderNode::inPort(), lostConnection(), myParent, myRtiExecMonitor, newConnection(), DtForwarderNode::outPort(), processExecConnectDestinations(), DtForwarderNode::registerOutPortProcessor(), DtRtiExecConnectionFilter< ParentType >::setDestinationProcCallback(), and DtRtiExecConnectionFilter< ParentType >::setParent().
| DtForwarderFaultProcessor::~DtForwarderFaultProcessor | ( | ) | [virtual] |
| 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] |
References myParent, and DtForwarderNode::nextForwarderOnRoute().
Referenced by newConnection(), and nextHopTowardRootForwarder().
| 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] |
Connection loss callback.
References DtMetadataTypeTransport, DtForwarderNode::isMetadataEnabled(), DtForwarderPort::DtForwarderMsg::length, DtForwarderNode::localNodeAddress(), DtForwarderNode::localNodeId(), DtForwarderPort::DtForwarderMsg::msg, myParent, myRtiExecMonitor, DtForwarderNode::processInToLanMsg(), DtForwarderNode::processInToOutMsg(), processLostUpstreamConnection(), DtRtiMtdTransportType::set(), DtRtiExecConnectionFilter< ParentType >::upstreamInboundConnection(), and DtRtiExecConnectionFilter< ParentType >::upstreamOutboundConnection().
| 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] |
Connection added callback ( used to provide rtiexec location to late joiners )
References DtMetadataTypeTransport, isLocalGroupMember(), DtForwarderNode::isMetadataEnabled(), DtRtiExecConnectionFilter< ParentType >::isUpstreamPortal(), DtForwarderPort::DtForwarderMsg::length, DtForwarderNode::localNodeAddress(), locateGroupPortal(), DtForwarderPort::DtForwarderMsg::msg, myParent, myRtiExecMonitor, DtForwarderNode::outPort(), DtRtiExecConnectionFilter< ParentType >::rootForwarder(), DtForwarderNode::routeMap(), DtRtiExecConnectionFilter< ParentType >::rtiexecIsFullyCompliant(), DtForwarderPort::sendToListReliable(), DtRtiMtdTransportType::set(), and DtRtiExecConnectionFilter< ParentType >::upstreamInboundConnection().
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 | ( | ) | [protected, virtual] |
Handle broken connection in the upstream path to the rtiexec.
Referenced by lostConnection().
| DtInetAddrAndPort DtForwarderFaultProcessor::rootForwarder | ( | ) | [virtual] |
Return address of rtiexec's Root Forwarder.
References myRtiExecMonitor, and DtRtiExecConnectionFilter< ParentType >::rootForwarder().
Referenced by nextHopTowardRootForwarder(), and DtForwarderNode::rootForwarder().
DtForwarderNode* DtForwarderFaultProcessor::myParent [protected] |
DtRtiExecConnectionFilter<DtForwarderFaultProcessor> DtForwarderFaultProcessor::myRtiExecMonitor [protected] |
Referenced by DtForwarderFaultProcessor(), lostConnection(), newConnection(), nextHopTowardRootForwarder(), and rootForwarder().