MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
multicastSubscriptionProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2006 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: multicastSubscriptionProcessor.h,v $ $Revision: 1.4 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef DtMulticastSubscriptionProcessor_H_
9 #define DtMulticastSubscriptionProcessor_H_
10 
12 #include "rtiMsConfig.h"
13 #include <map>
14 
20 
22 {
23 private:
26 
27 public:
29  DtMulticastSubscriptionProcessor( DtBoost::shared_ptr<DtForwarderNode> parent );
30 
33 
35  bool listenToMulticastGroup( const DtInetAddrAndPort& src, const DtNetMulticastConfigureMsg* msg );
36 
38  bool dropMulticastGroup( const DtInetAddrAndPort& src, const DtNetMulticastConfigureMsg* msg );
39 
42  bool processDestinationList( const DtInetAddrAndPort& src,
43  DtForwarderPort::DtAddressPortList& destinations );
44 
45 public:
46 
48  static void setMaxFederates( unsigned int maxFederates );
49  unsigned int maxFederates() const;
50 
52 #if (0)
53 
54  static void lostConnection( const MAKRti::DtInetAddr& addr, void* usr );
55 #endif
56 
57 protected:
59 #if (0)
60 
61  virtual void lostConnection( const MAKRti::DtInetAddr& addr );
62 #endif
63 
65  virtual bool forceDropMulticastGroup( const MAKRti::DtInetAddr& addr );
66 
68  unsigned long federateIndex( unsigned long federateHandle ) const;
69 
70 protected:
71  DtBoost::shared_ptr<DtForwarderNode> myParent;
72 
74  static unsigned int theMaxFederates;
75 
79  typedef std::map< unsigned long, MAKRti::DtInetAddr > DtIdToAddrMap;
81 
86  typedef std::map< MAKRti::DtInetAddr, DtBitMask > DtAddrToIdMaskMap;
88 
91 
96  MAKRti::DtInetAddr myLastMulticastDropAddr;
97 
101 
102 };
103 
104 #endif

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)