MAK RTIspy API Documentation for HLA Evolved
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:

List of all members.

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

Default constructor unimplemented.

Copy CTOR unimplemented.

Destructor.

References myJoinResignFilter, myParent, and myUpdateInterFilter.


Member Function Documentation

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 
) [protected, virtual]
DtSmartForwardingProcessor& DtSmartForwardingProcessor::operator= ( const DtSmartForwardingProcessor orig) [private]

assignment operator -- Not Implemented

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

DtBoost::shared_ptr<DtForwarderNode> DtSmartForwardingProcessor::myParent [protected]

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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)