MAK RTIspy API Documentation for HLA 1.3
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtMulticastSubscriptionProcessor Class Reference
+ Collaboration diagram for DtMulticastSubscriptionProcessor:

List of all members.

Public Member Functions

 DtMulticastSubscriptionProcessor (DtBoost::shared_ptr< DtForwarderNode > parent)
 Constructor.
virtual ~DtMulticastSubscriptionProcessor ()
 Destructor.
bool listenToMulticastGroup (const DtInetAddrAndPort &src, const DtNetMulticastConfigureMsg *msg)
 Multicast Configure 'listen' message received callback.
bool dropMulticastGroup (const DtInetAddrAndPort &src, const DtNetMulticastConfigureMsg *msg)
 Multicast Configure 'drop' message received callback.
bool processDestinationList (const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations)
 Set forwarding destination list based on source (eg.
unsigned int maxFederates () const

Static Public Member Functions

static void setMaxFederates (unsigned int maxFederates)
 Set/Get size of bitmask utilized in DtAddrToIdMaskMap.

Protected Types

typedef std::map< unsigned
long, MAKRti::DtInetAddr > 
DtIdToAddrMap
 DtMulticastSubscriptionProcessor::DtIdToAddrMap defines a map indexed by federate handle associating remote federates with the multicast addresses that they are listening to on the forwarders LAN.
typedef std::map
< MAKRti::DtInetAddr,
DtBitMask
DtAddrToIdMaskMap
 DtMulticastSubscriptionProcessor::DtAddrToIdMaskMap defines a map indexed by multicast addresses associating those addresses with remote federates (via a destination mask) which want the forwarder to listen on that address.

Protected Member Functions

virtual bool forceDropMulticastGroup (const MAKRti::DtInetAddr &addr)
 TO DO -- fault tolerance implementation deferred.
unsigned long federateIndex (unsigned long federateHandle) const
 DtAddrToIdMaskMap helper routine.

Protected Attributes

DtBoost::shared_ptr
< DtForwarderNode
myParent
DtIdToAddrMap myFedIdToAddressMap
DtAddrToIdMaskMap myAddressToFedIdsMap
DtMulticastListenDropFilter
< DtMulticastSubscriptionProcessor > * 
myListenDropFilter
 Filter to detect DtMcastConfigureMsgKind messages.
unsigned long myLastMulticastDropFedHdl
 It's possible for the DtMulticastSubscriptionProcessor to process the same message twice, once for sending to the LAN, once for sending to the other forwarders.
MAKRti::DtInetAddr myLastMulticastDropAddr

Static Protected Attributes

static unsigned int theMaxFederates = 100
 Count of maximum number of federates to include in DtAddrToIdMaskMap.

Private Member Functions

 DtMulticastSubscriptionProcessor ()
 Default constructor unimplemented.

Member Typedef Documentation

typedef std::map< MAKRti::DtInetAddr, DtBitMask > DtMulticastSubscriptionProcessor::DtAddrToIdMaskMap [protected]

DtMulticastSubscriptionProcessor::DtAddrToIdMaskMap defines a map indexed by multicast addresses associating those addresses with remote federates (via a destination mask) which want the forwarder to listen on that address.

typedef std::map< unsigned long, MAKRti::DtInetAddr > DtMulticastSubscriptionProcessor::DtIdToAddrMap [protected]

DtMulticastSubscriptionProcessor::DtIdToAddrMap defines a map indexed by federate handle associating remote federates with the multicast addresses that they are listening to on the forwarders LAN.


Constructor & Destructor Documentation

Default constructor unimplemented.

Destructor.

References myListenDropFilter, and myParent.


Member Function Documentation

unsigned long DtMulticastSubscriptionProcessor::federateIndex ( unsigned long  federateHandle) const [protected]

DtAddrToIdMaskMap helper routine.

References maxFederates().

Referenced by dropMulticastGroup(), and listenToMulticastGroup().

bool DtMulticastSubscriptionProcessor::forceDropMulticastGroup ( const MAKRti::DtInetAddr &  addr) [protected, virtual]

TO DO -- fault tolerance implementation deferred.

TO DO -- fault tolerance implementation deferred Force drop of multicast group if connection(s) lost

References myAddressToFedIdsMap, and myParent.

Set forwarding destination list based on source (eg.

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

References myParent.

Referenced by DtMulticastSubscriptionProcessor().

void DtMulticastSubscriptionProcessor::setMaxFederates ( unsigned int  maxFederates) [static]

Set/Get size of bitmask utilized in DtAddrToIdMaskMap.

References maxFederates(), and theMaxFederates.


Member Data Documentation

It's possible for the DtMulticastSubscriptionProcessor to process the same message twice, once for sending to the LAN, once for sending to the other forwarders.

Keep track of the last message to prevent this.

Referenced by dropMulticastGroup(), and listenToMulticastGroup().

Filter to detect DtMcastConfigureMsgKind messages.

Referenced by DtMulticastSubscriptionProcessor(), and ~DtMulticastSubscriptionProcessor().

unsigned int DtMulticastSubscriptionProcessor::theMaxFederates = 100 [static, protected]

Count of maximum number of federates to include in DtAddrToIdMaskMap.

Referenced by maxFederates(), and setMaxFederates().


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)