MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lanForwarderPort.h
Go to the documentation of this file.
1 /*******************************************************************************
2  ** Copyright (c) 2006 MaK Technologies, Inc.
3  ** All rights reserved.
4  *******************************************************************************/
5 /*******************************************************************************
6  ** $RCSfile: lanForwarderPort.h,v $ $Revision: 1.7 $ $State: Exp $
7  *******************************************************************************/
10 
11 #ifndef DtLanForwarderPort_H_
12 #define DtLanForwarderPort_H_
13 
14 #include "forwarderPort.h"
15 #include "rtiMsConfig.h"
16 #include <map>
17 #include <vector>
18 
19 class DtRIDParameters;
20 class DtRouteMap;
23 
29 {
30 protected:
31 
33  DtLanForwarderPort( const DtRIDParameters* params,
34  DtBoost::shared_ptr<DtRouteMap> routes,
35  const MAKRti::DtInetAddr& host,
36  int forwarderPort,
37  const MAKRti::DtInetEndpoint& forwardertoConnectTo );
38 
39 public:
40 
41  virtual ~DtLanForwarderPort();
42 
44  virtual bool isReady() const;
45 
47  virtual DtAddressMsgPair getNextMsg();
48 
50  virtual void sendByTransport( const DtForwarderMsg& msg ) const;
51 
53  virtual void sendToAllReliable( const DtForwarderMsg& msg ) const;
54 
57  virtual void sendToListReliable( const DtForwarderMsg& msg,
58  const DtAddressPortList& destinations ) const;
59 
61  virtual inline bool flush();
62 
67  virtual void setForwarderId(unsigned long id);
68 
70  virtual void selectParams( MAKRti::DtSelectParamWithWrite& selectParams );
71 
73  virtual void updateRoutes();
74 
77  virtual int checkConnectionStatus( const DtInetAddrAndPort* target = 0 );
78 
82  virtual void clearNeededConnections();
83 
86  virtual unsigned int abortPendingConnections();
87 
90  unsigned int pendingConnectionsAborted();
91 
93  virtual DtAddressPortList connections() const;
94 
96  virtual void listenToMulticastGroup( const MAKRti::DtInetAddr& mcastAddr );
97  virtual void dropMulticastGroup( const MAKRti::DtInetAddr& mcastAddr );
98 
100  virtual bool updateFederateConnectionId( unsigned long orig,
101  unsigned long final );
102 
104  virtual const DtFederateTrackingFilter* fedTrackingFilter() const;
105 
106  virtual bool populateConnectionInformation(
107  unsigned int& numForwarderClientConns,
108  unsigned int& numForwarderExecConns,
109  std::vector<MAKRti::DtString>& clientConnectionHostNames,
110  std::vector<MAKRti::DtInetAddr>& clientConnectionAddrs) const;
111 
112 public:
113 
115  static DtForwarderPort* create( const DtRIDParameters* params,
116  const DtBoost::shared_ptr<DtRouteMap> routes,
117  const MAKRti::DtInetAddr& host,
118  int forwarderPort,
119  const MAKRti::DtInetEndpoint& forwardertoConnectTo );
120 
124  static void setCreatorFunction( DtForwarderPortCreatorFcn creator );
125 
126 protected:
127 
130  DtLanForwarderPort( const DtLanForwarderPort& orig );
131  DtLanForwarderPort& operator=( const DtLanForwarderPort& orig );
132 
133 
134 protected:
135 
138  bool myIsReady;
139 
140 protected:
141 
142  static DtForwarderPortCreatorFcn theCreator;
143 
144 };
145 
146 #endif
147 
std::pair< MAKRti::DtInetAddr, int > DtInetAddrAndPort
Definition: rtiUtil.h:147
Definition: extendedRtiMsgForwarder.h:30
virtual void setForwarderId(unsigned long id)
Set forwarder ID.
Definition: forwarderPort.h:357
bool myIsReady
Definition: lanForwarderPort.h:138
virtual DtAddressPortList connections() const =0
Get the list of all current connections to this port.
The DtForwarderPort is an Abstract Base Class which provides the interface to a collection of connect...
Definition: forwarderPort.h:35
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
Helper class captures DtNetJoinResponseMsg Messages and maps the associated federate ID to the connId...
Definition: federateTrackingFilter.h:23
virtual void updateRoutes()=0
Handle changes to the Routing map.
Definition: forwarderPort.h:44
virtual void dropMulticastGroup(const MAKRti::DtInetAddr &mcastAddr)=0
Listen / drop multicast groups (LAN-port-only)
virtual void clearNeededConnections()=0
Clear the list of connections that this forwarder needs to establish.
std::pair< DtInetAddrAndPort, DtForwarderMsg > DtAddressMsgPair
Definition: forwarderPort.h:56
DtRouteMap::DtAddressPortList DtAddressPortList
Definition: forwarderPort.h:51
virtual void sendToAllReliable(const DtForwarderMsg &msg) const =0
Send a message to all available destinations.
The DtForwarderPort is an Abstract Base Class which provides the interface to a collection of connect...
Definition: lanForwarderPort.h:28
virtual bool isReady() const =0
Is the Port fully usable and available?
Definition: routeMap.h:41
virtual int checkConnectionStatus(const DtInetAddrAndPort *target=0)=0
Test for lost connections - returns true if targeted connection is active or, if no target specified...
virtual unsigned int pendingConnectionsAborted()=0
Return count of aborted connections.
static DtForwarderPortCreatorFcn theCreator
Definition: lanForwarderPort.h:142
virtual void sendToListReliable(const DtForwarderMsg &msg, const DtRouteMap::DtAddressPortList &destinations) const =0
Send a message to the specified list of destinations excluding the list of filtered destinations...
virtual void selectParams(MAKRti::DtSelectParamWithWrite &selectParams)=0
Add this port&#39;s current select() notification set to the passed set.
virtual void sendByTransport(const DtForwarderMsg &msg) const =0
Check transport metadata and send message to appropriate socket(s)
const DtRIDParameters * myParams
Definition: lanForwarderPort.h:136
DtExtendedRtiMsgForwarder * myForwarder
Definition: lanForwarderPort.h:137
#define DT_DLL_FORWARDER
Definition: rtiMsConfig.h:124
virtual bool updateFederateConnectionId(unsigned long orig, unsigned long final)=0
Update locally connected federate connection ID (LAN-port-only)
virtual bool flush()
Flush any unsent/buffered packets; return true if flush sent data.
Definition: forwarderPort.h:351
virtual void listenToMulticastGroup(const MAKRti::DtInetAddr &mcastAddr)=0
Listen / drop multicast groups (LAN-port-only)
virtual DtAddressMsgPair getNextMsg()=0
Get the next message to forward and the source connection.
virtual unsigned int abortPendingConnections()=0
Abort any embryonic connections.

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)