MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
DtForwarderPingProcessor Class Reference

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, const MAKRti::DtString &hostName, unsigned int connID, const std::pair< DtInetAddrAndPort, 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, const MAKRti::DtString &hostName, unsigned int connID, const std::pair< DtInetAddrAndPort, 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
DtForwarderPingFiltermyMsgToLanFilter
DtForwarderPingFiltermyMsgToOutFilter
DtDestToRequestMap myPendingRequests
 Map of outstanding Ping Requests to Responses.

Detailed Description

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)

Member Typedef Documentation

typedef bool(DtForwarderPingProcessor::* DtForwarderPingProcessor::DestinationProcessingMemberCb)(const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations)
typedef std::map< unsigned long, PendingRequest > DtForwarderPingProcessor::DtDestToRequestMap
protected
typedef bool(DtForwarderPingProcessor::* DtForwarderPingProcessor::PingMsgHandlerMemberCb)(const DtInetAddrAndPort &src, const DtForwarderPingMsg &msg)

Pointer to member function callbacks used by the port filters.

Constructor & Destructor Documentation

DtForwarderPingProcessor::DtForwarderPingProcessor ( DtBoost::shared_ptr< DtForwarderNode parent)

Default Ctor.

virtual DtForwarderPingProcessor::~DtForwarderPingProcessor ( )
virtual

Default Dtor.

Member Function Documentation

virtual bool DtForwarderPingProcessor::gotMsgToLanPort ( const DtInetAddrAndPort src,
const DtForwarderPingMsg msg 
)
virtual

Got Ping Message at the IN Port, drop the message at IN to LAN processor.

virtual bool DtForwarderPingProcessor::gotMsgToOutPort ( const DtInetAddrAndPort src,
const DtForwarderPingMsg msg 
)
virtual

Got Ping Message from the IN or LAN Port to the OUT Port.

virtual bool DtForwarderPingProcessor::ignorePingMsgToLan ( const DtInetAddrAndPort src,
DtForwarderPort::DtAddressPortList destinations 
)
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.

static int DtForwarderPingProcessor::lostConnection ( const MAKRti::DtString &  connName,
const MAKRti::DtString &  hostName,
unsigned int  connID,
const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &  connAddr,
void *  usr 
)
static

Connection loss callback.

virtual int DtForwarderPingProcessor::lostConnection ( const MAKRti::DtString &  connName,
const MAKRti::DtString &  hostName,
unsigned int  connID,
const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &  connAddr 
)
protectedvirtual

Connection loss callback.

virtual bool DtForwarderPingProcessor::processInToOutMsg ( const DtInetAddrAndPort src,
const DtForwarderPingMsg msg 
)
protectedvirtual

Got ping Message from the IN Port to the OUT Port.

virtual bool DtForwarderPingProcessor::processLanToOutMsg ( const DtInetAddrAndPort src,
const DtForwarderPingMsg msg 
)
protectedvirtual

Got ping Message from the LAN Port to the OUT Port.

virtual bool DtForwarderPingProcessor::processPingMsgDestinations ( 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

virtual void DtForwarderPingProcessor::sendResponseMsg ( unsigned long  target,
DtForwarderPingMsg::DtPingStatus  status,
const DtInetAddrAndPort addr = 0 
)
protectedvirtual

Send a ping Response based on aggregating all Local responses and all downstream WAN responses.

Member Data Documentation

DtForwarderPingFilter* DtForwarderPingProcessor::myMsgToLanFilter
protected
DtForwarderPingFilter* DtForwarderPingProcessor::myMsgToOutFilter
protected
DtBoost::shared_ptr<DtForwarderNode> DtForwarderPingProcessor::myParent
protected
DtDestToRequestMap DtForwarderPingProcessor::myPendingRequests
protected

Map of outstanding Ping Requests to Responses.


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

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)