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.
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)

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)