MAK RTIspy API Documentation for HLA Evolved
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, unsigned int connID, const 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, unsigned int connID, const 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.
DtSmartForwardingProcessoroperator= (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)
DtSmartForwardingProcessor::~DtSmartForwardingProcessor ( )
virtual

Destructor.

References myJoinResignFilter, myParent, and myUpdateInterFilter.

Member Function Documentation

bool DtSmartForwardingProcessor::federateJoined ( const DtInetAddrAndPort src,
const DtNetJoinConfirmMsg msg 
)
bool DtSmartForwardingProcessor::federateResigned ( const DtInetAddrAndPort src,
const DtNetResignMsg msg 
)
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.

References DtRtiMtdDestinationList::get(), DtRtiMtdDestinationList::getMaxDestinations(), DtBitMask::isEmpty(), and myAddressToFedIdsMap.

Referenced by DtSmartForwardingProcessor().

int DtSmartForwardingProcessor::lostConnection ( const MAKRti::DtString &  connName,
unsigned int  connID,
const DtInetAddrAndPort connAddr,
void *  usr 
)
static

Connection loss callback.

Referenced by DtSmartForwardingProcessor().

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

References myParent.

Referenced by DtSmartForwardingProcessor().

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 files:

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)