MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
smartForwardingProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: smartForwardingProcessor.h,v $ $Revision: 1.5 $ $State: Exp $
7 *******************************************************************************/
10 
11 #ifndef DtSmartForwardingProcessor_H_
12 #define DtSmartForwardingProcessor_H_
13 
16 #include "rtiMsConfig.h"
17 #include <bitMask.h>
18 #include <map>
19 
25 {
26 private:
29 
32 
35 
36 
37 public:
39  DtSmartForwardingProcessor( DtBoost::shared_ptr<DtForwarderNode> parent );
40 
42  virtual ~DtSmartForwardingProcessor();
43 
45  bool federateJoined( const DtInetAddrAndPort& src, const DtNetJoinConfirmMsg* msg );
46 
48  bool federateResigned( const DtInetAddrAndPort& src, const DtNetResignMsg* msg );
49 
53  bool processJoinResignDestinations( const DtInetAddrAndPort& src,
54  DtForwarderPort::DtAddressPortList& destinations );
55 
59  bool filterUpdateInterDestinations( const DtInetAddrAndPort& src,
60  caddr_t msg, DtForwarderPort::DtAddressPortList& destinations );
61 
62 public:
63 
65  static int lostConnection( const MAKRti::DtString & connName, const MAKRti::DtString& hostName,
66  unsigned int connID, const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr, void* usr);
67 
68 protected:
69 
71  virtual int lostConnection( const MAKRti::DtString & connName, const MAKRti::DtString& hostName,
72  unsigned int connID, const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr);
73 
74 protected:
75  typedef std::map< unsigned long, DtInetAddrAndPort > DtIdToAddrMap;
76  typedef std::map< DtInetAddrAndPort, DtBitMask > DtAddrToIdMaskMap;
77  DtBoost::shared_ptr<DtForwarderNode> myParent;
82 
83 };
84 
85 #endif
std::pair< MAKRti::DtInetAddr, int > DtInetAddrAndPort
Definition: rtiUtil.h:147
Definition: netJoinConfMsg.h:19
std::map< DtInetAddrAndPort, DtBitMask > DtAddrToIdMaskMap
Definition: smartForwardingProcessor.h:76
The DtSmartForwardingProcessor class tracks Federate connections and filters the outgoing destination...
Definition: smartForwardingProcessor.h:24
DtFederateJoinResignFilter< DtSmartForwardingProcessor > * myJoinResignFilter
Definition: smartForwardingProcessor.h:80
std::map< unsigned long, DtInetAddrAndPort > DtIdToAddrMap
Definition: smartForwardingProcessor.h:75
DtRouteMap::DtAddressPortList DtAddressPortList
Definition: forwarderPort.h:51
Definition: netResignMsg.h:19
DtBoost::shared_ptr< DtForwarderNode > myParent
Definition: smartForwardingProcessor.h:77
DtIdToAddrMap myFedIdToAddressMap
Definition: smartForwardingProcessor.h:78
DtAddrToIdMaskMap myAddressToFedIdsMap
Definition: smartForwardingProcessor.h:79
DtUpdateInterDestinationFilter< DtSmartForwardingProcessor > * myUpdateInterFilter
Definition: smartForwardingProcessor.h:81
#define DT_DLL_FORWARDER
Definition: rtiMsConfig.h:124

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)