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

The DtSmartForwardingProcessor class tracks Federate connections and filters the outgoing destination list for incoming messages based on their routing mask. More...

+ Collaboration diagram for DtSmartForwardingProcessor:

Public Member Functions

 DtSmartForwardingProcessor (DtBoost::shared_ptr< DtForwarderNode > parent)
 Constructor.
virtual ~DtSmartForwardingProcessor ()
 Destructor.
bool federateJoined (const DtInetAddrAndPort &src, const DtNetJoinConfirmMsg *msg)
 Join Msg received callback.
bool federateResigned (const DtInetAddrAndPort &src, const DtNetResignMsg *msg)
 Resign Msg received callback.
bool processJoinResignDestinations (const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations)
 Set the forwarding destinations for Join & Resign messages based on the source (eg.
bool filterUpdateInterDestinations (const DtInetAddrAndPort &src, caddr_t msg, DtForwarderPort::DtAddressPortList &destinations)
 Got an incoming Update or Interaction, so set destination list based on source (eg.

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, DtInetAddrAndPort > 
DtIdToAddrMap
typedef std::map
< DtInetAddrAndPort, DtBitMask > 
DtAddrToIdMaskMap

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.

Protected Attributes

DtBoost::shared_ptr
< DtForwarderNode > 
myParent
DtIdToAddrMap myFedIdToAddressMap
DtAddrToIdMaskMap myAddressToFedIdsMap
DtFederateJoinResignFilter
< DtSmartForwardingProcessor > * 
myJoinResignFilter
DtUpdateInterDestinationFilter
< DtSmartForwardingProcessor > * 
myUpdateInterFilter

Private Member Functions

 DtSmartForwardingProcessor ()
 Default constructor unimplemented.
 DtSmartForwardingProcessor (const DtSmartForwardingProcessor &)
 Copy CTOR unimplemented.
DtSmartForwardingProcessor & operator= (const DtSmartForwardingProcessor &orig)
 assignment operator – Not Implemented

Detailed Description

The DtSmartForwardingProcessor class tracks Federate connections and filters the outgoing destination list for incoming messages based on their routing mask.

Member Typedef Documentation

typedef std::map< unsigned long, DtInetAddrAndPort > DtSmartForwardingProcessor::DtIdToAddrMap
protected

Constructor & Destructor Documentation

DtSmartForwardingProcessor::DtSmartForwardingProcessor ( )
private

Default constructor unimplemented.

DtSmartForwardingProcessor::DtSmartForwardingProcessor ( const DtSmartForwardingProcessor &  )
private

Copy CTOR unimplemented.

DtSmartForwardingProcessor::DtSmartForwardingProcessor ( DtBoost::shared_ptr< DtForwarderNode >  parent)

Constructor.

virtual DtSmartForwardingProcessor::~DtSmartForwardingProcessor ( )
virtual

Destructor.

Member Function Documentation

bool DtSmartForwardingProcessor::federateJoined ( const DtInetAddrAndPort &  src,
const DtNetJoinConfirmMsg *  msg 
)

Join Msg received callback.

bool DtSmartForwardingProcessor::federateResigned ( const DtInetAddrAndPort &  src,
const DtNetResignMsg *  msg 
)

Resign Msg received callback.

bool DtSmartForwardingProcessor::filterUpdateInterDestinations ( const DtInetAddrAndPort &  src,
caddr_t  msg,
DtForwarderPort::DtAddressPortList &  destinations 
)

Got an incoming Update or Interaction, so set destination list based on source (eg.

which inlet the message was received on) and forwarder network configuration, then pare down list based on bitmask in message.

static int DtSmartForwardingProcessor::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 DtSmartForwardingProcessor::lostConnection ( const MAKRti::DtString &  connName,
const MAKRti::DtString &  hostName,
unsigned int  connID,
const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &  connAddr 
)
protectedvirtual

Connection loss callback.

DtSmartForwardingProcessor& DtSmartForwardingProcessor::operator= ( const DtSmartForwardingProcessor &  orig)
private

assignment operator – Not Implemented

bool DtSmartForwardingProcessor::processJoinResignDestinations ( const DtInetAddrAndPort &  src,
DtForwarderPort::DtAddressPortList &  destinations 
)

Set the forwarding destinations for Join & Resign messages based on the source (eg.

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

Member Data Documentation

DtAddrToIdMaskMap DtSmartForwardingProcessor::myAddressToFedIdsMap
protected
DtIdToAddrMap DtSmartForwardingProcessor::myFedIdToAddressMap
protected
DtFederateJoinResignFilter<DtSmartForwardingProcessor>* DtSmartForwardingProcessor::myJoinResignFilter
protected
DtBoost::shared_ptr<DtForwarderNode> DtSmartForwardingProcessor::myParent
protected
DtUpdateInterDestinationFilter<DtSmartForwardingProcessor>* DtSmartForwardingProcessor::myUpdateInterFilter
protected

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)