![]() |
MAK RTIspy API Documentation for HLA 1516
|
The DtForwarderPingProcessor class consists of filters for ForwarderPing messages for forwarder nodes. More...
Collaboration diagram for DtForwarderPingProcessor:Classes | |
| class | PendingRequest |
| Simple helper class to hold status of pending Pings. More... | |
Public Types | |
| typedef bool(DtForwarderPingProcessor::* | PingMsgHandlerMemberCb )(const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg) |
| Pointer to member function callbacks used by the port filters. | |
| typedef bool(DtForwarderPingProcessor::* | DestinationProcessingMemberCb )(const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations) |
Public Member Functions | |
| DtForwarderPingProcessor (DtBoost::shared_ptr< DtForwarderNode > parent) | |
| Default Ctor. | |
| virtual | ~DtForwarderPingProcessor () |
| Default Dtor. | |
| virtual bool | gotMsgToLanPort (const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg) |
| Got Ping Message at the IN Port, drop the message at IN to LAN processor. | |
| virtual bool | gotMsgToOutPort (const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg) |
| Got Ping Message from the IN or LAN Port to the OUT Port. | |
| virtual bool | processPingMsgDestinations (const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations) |
| Set forwarding destination list based on source (eg. | |
| virtual bool | ignorePingMsgToLan (const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations) |
| Ping messages are never forwarded out the LAN port and will be filtered out by gotMsgToLanPort anyway, so there's no destination processing necessary. | |
Static Public Member Functions | |
| static int | lostConnection (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &connAddr, void *usr) |
| Connection loss callback. | |
Protected Types | |
| typedef std::map< unsigned long, PendingRequest > | DtDestToRequestMap |
Protected Member Functions | |
| virtual int | lostConnection (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &connAddr) |
| Connection loss callback. | |
| virtual void | sendResponseMsg (unsigned long target, DtForwarderPingMsg::DtPingStatus status, const DtInetAddrAndPort *addr=0) |
| Send a ping Response based on aggregating all Local responses and all downstream WAN responses. | |
| virtual bool | processInToOutMsg (const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg) |
| Got ping Message from the IN Port to the OUT Port. | |
| virtual bool | processLanToOutMsg (const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg) |
| Got ping Message from the LAN Port to the OUT Port. | |
Protected Attributes | |
| DtBoost::shared_ptr < DtForwarderNode > | myParent |
| DtForwarderPingFilter * | myMsgToLanFilter |
| DtForwarderPingFilter * | myMsgToOutFilter |
| DtDestToRequestMap | myPendingRequests |
| Map of outstanding Ping Requests to Responses. | |
The DtForwarderPingProcessor class consists of filters for ForwarderPing messages for forwarder nodes.
The Ping algorithm allows a node or an RTI Exec to determine whether a path exists to a specified downstream node (NOTE: - currently does not handle pinging federates, but this could be added)
| typedef bool(DtForwarderPingProcessor::* DtForwarderPingProcessor::DestinationProcessingMemberCb)(const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations) |
|
protected |
| typedef bool(DtForwarderPingProcessor::* DtForwarderPingProcessor::PingMsgHandlerMemberCb)(const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg) |
Pointer to member function callbacks used by the port filters.
| DtForwarderPingProcessor::DtForwarderPingProcessor | ( | DtBoost::shared_ptr< DtForwarderNode > | parent | ) |
Default Ctor.
References gotMsgToLanPort(), gotMsgToOutPort(), ignorePingMsgToLan(), lostConnection(), myMsgToLanFilter, myMsgToOutFilter, myParent, and processPingMsgDestinations().
|
virtual |
Default Dtor.
References myMsgToLanFilter, myMsgToOutFilter, and myParent.
|
virtual |
Got Ping Message at the IN Port, drop the message at IN to LAN processor.
Referenced by DtForwarderPingProcessor().
|
virtual |
Got Ping Message from the IN or LAN Port to the OUT Port.
References myParent, DtRtiMsg::print(), processInToOutMsg(), and processLanToOutMsg().
Referenced by DtForwarderPingProcessor().
|
virtual |
Ping messages are never forwarded out the LAN port and will be filtered out by gotMsgToLanPort anyway, so there's no destination processing necessary.
This method is just a dummy for the filter ctor.
Referenced by DtForwarderPingProcessor().
|
static |
Connection loss callback.
Referenced by DtForwarderPingProcessor().
|
protectedvirtual |
Connection loss callback.
References DtForwarderPingProcessor::PendingRequest::currentStatus, DtForwarderPingProcessor::PendingRequest::destinationId, myPendingRequests, DtForwarderPingProcessor::PendingRequest::pendingOutResponses, sendResponseMsg(), and DtForwarderPingProcessor::PendingRequest::sourceAddress.
|
protectedvirtual |
Got ping Message from the IN Port to the OUT Port.
References DtForwarderPingMsg::destination(), myParent, myPendingRequests, DtForwarderPingMsg::PingRequest, DtForwarderPingMsg::PingResponseNotFound, DtForwarderPingMsg::PingResponseSuccess, DtForwarderPingMsg::pingStatus(), and sendResponseMsg().
Referenced by gotMsgToOutPort().
|
protectedvirtual |
Got ping Message from the LAN Port to the OUT Port.
References DtForwarderPingMsg::destination(), myParent, myPendingRequests, DtForwarderPingMsg::PingRequest, DtForwarderPingMsg::PingResponseNotFound, DtForwarderPingMsg::PingResponseSuccess, DtForwarderPingMsg::pingStatus(), and sendResponseMsg().
Referenced by gotMsgToOutPort().
|
virtual |
Set forwarding destination list based on source (eg.
which inlet the message was received on) and forwarder network configuration
References myParent.
Referenced by DtForwarderPingProcessor().
|
protectedvirtual |
Send a ping Response based on aggregating all Local responses and all downstream WAN responses.
References DtForwarderIntfcLan, DtForwarderIntfcOut, and myParent.
Referenced by lostConnection(), processInToOutMsg(), and processLanToOutMsg().
|
protected |
Referenced by DtForwarderPingProcessor(), and ~DtForwarderPingProcessor().
|
protected |
Referenced by DtForwarderPingProcessor(), and ~DtForwarderPingProcessor().
|
protected |
|
protected |
Map of outstanding Ping Requests to Responses.
Referenced by lostConnection(), processInToOutMsg(), and processLanToOutMsg().