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 | Static Protected Attributes | Private Member Functions
DtMulticastSubscriptionProcessor Class Reference
+ Collaboration diagram for DtMulticastSubscriptionProcessor:

Public Member Functions

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

Static Public Member Functions

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

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

Protected Member Functions

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

Protected Attributes

std::shared_ptr< DtForwarderNodemyParent
 
DtIdToAddrMap myFedIdToAddressMap
 
DtAddrToIdMaskMap myAddressToFedIdsMap
 
DtMulticastListenDropFilter
< DtMulticastSubscriptionProcessor > * 
myListenDropFilter
 Filter to detect DtMcastConfigureMsgKind messages. More...
 
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. More...
 
MAKRti::DtInetAddr myLastMulticastDropAddr
 

Static Protected Attributes

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

Private Member Functions

 DtMulticastSubscriptionProcessor ()
 Default constructor unimplemented. More...
 

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

DtMulticastSubscriptionProcessor::DtMulticastSubscriptionProcessor ( )
private

Default constructor unimplemented.

DtMulticastSubscriptionProcessor::DtMulticastSubscriptionProcessor ( std::shared_ptr< DtForwarderNode parent)

Constructor.

virtual DtMulticastSubscriptionProcessor::~DtMulticastSubscriptionProcessor ( )
virtual

Destructor.

Member Function Documentation

bool DtMulticastSubscriptionProcessor::dropMulticastGroup ( const DtInetAddrAndPort src,
const DtNetMulticastConfigureMsg msg 
)

Multicast Configure 'drop' message received callback.

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

DtAddrToIdMaskMap helper routine.

virtual bool DtMulticastSubscriptionProcessor::forceDropMulticastGroup ( const MAKRti::DtInetAddr &  addr)
protectedvirtual

TO DO – fault tolerance implementation deferred.

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

bool DtMulticastSubscriptionProcessor::listenToMulticastGroup ( const DtInetAddrAndPort src,
const DtNetMulticastConfigureMsg msg 
)

Multicast Configure 'listen' message received callback.

unsigned int DtMulticastSubscriptionProcessor::maxFederates ( ) const
bool DtMulticastSubscriptionProcessor::processDestinationList ( const DtInetAddrAndPort src,
DtForwarderPort::DtAddressPortList destinations 
)

Set forwarding destination list based on source (eg.

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

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

Set/Get size of bitmask utilized in DtAddrToIdMaskMap.

Member Data Documentation

DtAddrToIdMaskMap DtMulticastSubscriptionProcessor::myAddressToFedIdsMap
protected
DtIdToAddrMap DtMulticastSubscriptionProcessor::myFedIdToAddressMap
protected
MAKRti::DtInetAddr DtMulticastSubscriptionProcessor::myLastMulticastDropAddr
protected
unsigned long DtMulticastSubscriptionProcessor::myLastMulticastDropFedHdl
protected

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.

DtMulticastListenDropFilter<DtMulticastSubscriptionProcessor>* DtMulticastSubscriptionProcessor::myListenDropFilter
protected

Filter to detect DtMcastConfigureMsgKind messages.

std::shared_ptr<DtForwarderNode> DtMulticastSubscriptionProcessor::myParent
protected
unsigned int DtMulticastSubscriptionProcessor::theMaxFederates
staticprotected

Count of maximum number of federates to include in DtAddrToIdMaskMap.


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

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)