MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rtiAssistantPeer.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <rtiUtil.h>
13 #include <rtiVersion.h>
14 
16 #include "assistantMsgCbMgr.h"
17 #include "assistantLicServerInfo.h"
19 #include "assistantConnMsg.h"
21 #include "rtiAssistantClient.h"
22 #include "assistantInfo.h"
23 #include "assistantInfoMsg.h"
25 #include "assistantNetStatsEnums.h"
28 
29 #include <vlutil/vlSmartPointers.h>
30 #include <vlutil/vlInetEndpoint.h>
31 #include <vlutil/vlPrint.h>
32 #include <vlutil/vlTime.h>
33 #include <vlutil/vlUtil.h>
34 
36 class DtAssistantInfoMsg;
39 class DtAssistantConfig;
42 class DtUdpMsgSocket;
45 class DtAssistantPeerSocketAdditionCbInfo;
46 class DtAssistantPeerSocketRemovalCbInfo;
47 typedef void (*DtInterfaceFoundCb)( void* );
48 #define DtCbInfoStruct( cbType ) \
49 struct cbType##Info \
50 { \
51  cbType##Info( cbType cb, void* usr ) : \
52  myCb(cb), \
53  myUsr(usr) \
54  { }; \
55  cbType myCb; \
56  void* myUsr; \
57 };
58 
59 
60 typedef void(*DtAssistantConnectionLostCallback)(const DtAssistantConnectionStruct& sock, void* usr);
62 {
63 public:
64 
66  {
67  myCb = cb;
68  myUsr = usr;
69  }
70 
72  void* myUsr;
73 };
74 
76 typedef void(*DtAssistantSocketAdditionCb)(int compId, void* usr);
77 typedef void(*DtAssistantSocketRemovalCb)(int compId, const MAKRti::DtString& reason, void* usr);
78 typedef std::list<DtAssistantPeerSocketAdditionCbInfo*> DtAssistantPeerSocketAdditionCallbackList;
79 typedef std::list<DtAssistantPeerSocketRemovalCbInfo*> DtAssistantPeerSocketRemovalCallbackList;
83 {
84 public:
85 
87  DtRtiAssistantPeer( int id, int port,
88  const MAKRti::DtInetAddr& ipv4Addr,
89  const MAKRti::DtInetAddr& ipv6Addr,
90  int ttl,
91  bool disableMulticast,
92  const DtNetU128 & uuid);
93 
95  virtual ~DtRtiAssistantPeer();
96 
99  virtual bool tick( double timeout = 0 );
100 
102  virtual void setMsgFactory( DtAssistantMessageFactory* fact );
103 
105  virtual DtAssistantMessageFactory* msgFactory() const;
106 
110 
111  virtual void addMsgCallback( DtAssistantMsgKind msgKind,
112  DtAssistantMsgCbMgr::DtCallbackFcn fcn, void* usr );
113  virtual void removeMsgCallback( DtAssistantMsgKind msgKind,
114  DtAssistantMsgCbMgr::DtCallbackFcn fcn, void* usr );
115 
118  virtual void addInterfaceFoundCallback( DtInterfaceFoundCb cb, void* usr );
119  virtual void removeInterfaceFoundCallback( DtInterfaceFoundCb cb, void* usr );
120 
122 
124  virtual void sendQueryMsg();
125 
127  virtual void sendForeignQueryMsg(const DtAssistantInfo& assistant);
128 
130  virtual void sendForeignQueryMsg(const DtAssistantConnectionStruct& assistant);
131 
133  virtual void sendForeignBreakMsg(const DtAssistantInfo& assistant);
134 
136  virtual void sendAssistantConnMsg(const DtAssistantConnectionStruct& assistant, DtAssistantHandshakeType handshakeType, const DtAssistantConnectionId& id, const DtAssistantConnectionId& ackId = DtAssistantUuidNIL);
137 
140  virtual void sendInfoMsg( const DtRtiConnectionAndConfiguration& connsAndConfigs,
141  unsigned memoryPeriod, bool acceptRemoteCommands, bool removal );
142 
145  virtual void sendLightweightInfoMsg( const DtRtiConnectionAndConfiguration& connsAndConfigs,
146  unsigned memoryPeriod );
147 
150  virtual void sendLicServerInfoMsg( const DtLicServerSet& licServers,
151  bool removal );
152 
154  virtual void sendForwarderConnectMsg( int compId, const DtString& targetHost,
155  const MAKRti::DtInetAddr& targetAddress, int targetPort,
156  const DtAssistantInfo& assistant );
157 
160  virtual void sendStartRtiForwarderMsg( const DtRtiConnectionInfoDataPair& conn,
161  const DtRtiConnectionConfigurationInfo& config,
162  const DtAssistantInfo& assistant = DtAssistantInfo() );
163 
166  virtual void sendStartRtiexecMsg( const DtRtiConnectionInfoDataPair& conn,
167  const DtRtiConnectionConfigurationInfo& config,
168  const DtAssistantInfo& assistant = DtAssistantInfo() );
169 
173  virtual void sendObserveFederationsMsg( const DtRtiConnectionInfo& conn,
174  bool observe, const DtAssistantInfo& assistant = DtAssistantInfo(),
175  int compId = -1 );
176 
179  virtual void sendObserveRtiExecLogMsg( const DtAssistantInfo& assistant,
180  int compId, bool observe );
181 
184  virtual void sendObserveRtiexecRspMsg( DtNotifyLevelType notifyLevel, int compId,
185  const DtAssistantInfo& destination );
186 
189  virtual void sendObserveRtiForwarderMsg( const DtRtiConnectionInfo& conn,
190  bool observe, const DtAssistantInfo& assistant, int compId );
191 
194  virtual void sendFederationStateMsg( const DtRtiConnectionInfoDataPair& conn,
195  const DtAssistantFederationInfo& federation, bool isRemoval );
196 
199  virtual void sendNoFederationMsg( const DtRtiConnectionInfoDataPair& conn );
200 
203  virtual void sendFederateResignMsg( const DtAssistantInfo& assistant,
204  int compId, int federationHdl, int federateHdl );
205 
208  virtual void sendFederationDestroyMsg( const DtAssistantInfo& assistant,
209  int compId, int federationHdl );
210 
213  virtual void sendRidParamsRequestMsg( const DtAssistantInfo& assistant,
214  int compId );
215 
219  virtual void sendLogRequestMsg( const DtAssistantInfo& assistant,
220  int compId, unsigned maxLogSize );
221 
224  virtual bool sendLatencyTestRequestMsg( const DtAssistantInfo& assistant,
225  int compId, int federationHdl, int federateHdl, bool runTest, bool continuous,
226  bool shouldHalt, bool observing, unsigned int interactionPeriod,
227  unsigned int numInteractions, unsigned int payloadBytes );
228 
230  virtual void sendNetworkTestEnableMsg( const DtAssistantInfo& assistant,
231  int compId, int federationHdl, bool enable );
232 
235  virtual void sendRtiexecExitMsg( const DtAssistantInfo& assistant, int compId );
236 
239  virtual void sendNotifyObserveMsg( bool isObserving );
240 
242  virtual void sendNotifyMsg( const MAKRti::DtString& text,
243  DtNotifyLevelType notifyLevel, const MAKRti::DtString& sourceName );
244 
247  virtual void sendRemovalMsg();
248 
252  virtual void sendFederateInfoReqMsg(const DtAssistantInfo& astnt,
253  const DtRtiConnectionInfo& conn,
254  const MAKRti::DtString& federation = MAKRti::DtString::nullString(),
255  unsigned federateHandle = 0 );
256 
259  virtual void sendFederateInfoRespMsg(const DtRtiConnectionInfo& conn,
260  std::vector<const DtAssistantFederateInfo*> federates);
261 
262 
265  virtual void sendNetStatsObservationRequestMsg(const DtAssistantInfo& astnt, DtAssistantObservationType observationType,
266  int compId, bool observe = false, unsigned int interval = 0);
267 
268  virtual void sendNetStatsObservationResponseMsg(const DtAssistantInfo& astnt, DtAssistantObservationType observationType,
269  int compId, bool observe);
270 
271  virtual void sendNetStatsStringUpdateReqMsg(const DtAssistantInfo& assistant, int compId,
272  DtAssistantHandleType handletype, const std::set<DtU32>& handles);
273 
274  virtual void sendNetStatsStringUpdate(const DtAssistantInfo& assistant, int compId,
275  DtAssistantHandleType handletype, const std::vector<DtU32>& objectInstanceHandles,
276  const std::vector<MAKRti::DtString>& objectInstanceNames);
277 
278  virtual void forwardNetStatsUpdate(const DtAssistantMsg &msg, const std::set<DtAssistantInfo>& observers);
279 
280  virtual void sendFedDisconnectNetStatsObsRespMsg(DtAssistantObservationType observationType,
281  int compId, const std::set<DtAssistantInfo>& observers);
282 
283  virtual void sendNetStatsInitStateRequestMsg(const DtAssistantInfo& astnt,
284  DtAssistantObservationType observationType, int compId);
285 
286  virtual void sendFomTreeData(const DtAssistantInfo& astnt,
287  int compId, const std::vector<MAKRti::DtU32>& objectClassHandles,
288  const std::vector<MAKRti::DtU32>& parentObjectClassHandles,
289  const std::vector<MAKRti::DtString>& objectClassNames,
290  const std::vector<MAKRti::DtU32>& interactionClassHandles,
291  const std::vector<MAKRti::DtU32>& parentInteractionClassHandles,
292  const std::vector<MAKRti::DtString>& interactionClassNames);
293 
294  virtual void sendNetStatsAttrStringUpdate(const DtAssistantInfo& astnt,
295  int compId, const std::vector<MAKRti::DtU32>& objectClassHandles,
296  const std::vector<MAKRti::DtU32>& attributeHandles,
297  const std::vector<MAKRti::DtString>& attributeNames,
298  const std::vector<MAKRti::DtU32>& parentClassHandles,
299  const std::vector<MAKRti::DtU32>& totalObjHandles);
300  virtual void sendNetStatsParamStringUpdate(const DtAssistantInfo& astnt,
301  int compId, const std::vector<MAKRti::DtU32>& interClassHandles,
302  const std::vector<MAKRti::DtU32>& parameterHandles,
303  const std::vector<MAKRti::DtString>& parameterNames,
304  const std::vector<MAKRti::DtU32>& parentInterHandles,
305  const std::vector<MAKRti::DtU32>& totalInterHandles);
306  virtual void sendNetStatsAttrParamStringUpdate(const DtAssistantInfo& astnt,
307  int compId, const std::vector<MAKRti::DtU32>& objectClassHandles,
308  const std::vector<MAKRti::DtU32>& attributeHandles,
309  const std::vector<MAKRti::DtString>& attributeNames,
310  const std::vector<MAKRti::DtU32>& parentClassHandles,
311  const std::vector<MAKRti::DtU32>& totalObjHandles,
312  DtAssistantHandleType objInterType, DtAssistantHandleType attrParamType,
313  DtAssistantHandleType parentClassType );
314  virtual void sendNetStatsFomAttrParamUpdate(const DtAssistantInfo& astnt,
315  int compId, DtAssistantHandleType handleType, bool isInit,
316  const std::vector<MAKRti::DtU32>& objectClassHandles,
317  const std::vector<MAKRti::DtU32>& attributeHandles,
318  const std::vector<bool>& attributePub,
319  const std::vector<bool>& attributeSub,
320  const std::vector<DtTransportType>& attributeTransport,
321  const std::vector<DtOrderType>& attributeOrder,
322  const std::vector<bool>& objectPub, const std::vector<bool>& objectSub,
323  const std::vector<MAKRti::DtU32>& objPubSubHandles );
324 
329  virtual void forwardMsg( const DtAssistantMsg& msg, int astntCompId,
330  const DtAssistantInfo& dest = DtAssistantInfo() );
331 
333  virtual int port() const;
334 
337  virtual MAKRti::DtInetAddr ipv4Address() const;
338 
341  virtual MAKRti::DtInetAddr ipv6Address() const;
342 
344  virtual int id() const;
345 
348  virtual const MAKRti::DtInetAddr& currentNetworkInterfaceAddr() const;
349 
351  virtual const DtInetEndpoint& currentReceivedEndpoint() const;
352 
354  virtual const MAKRti::DtInetAddr& destinationAddress(const DtInetAddr& msgDestination) const;
355 
357  virtual void getMsgStats( unsigned& totalRecv, double& recvPerSecOverall,
358  double& recvPerSecCurr, unsigned& totalProc, double& procPerSecOverall,
359  double& procPerSecCurr, unsigned& totalSent, double& sentPerSecOverall,
360  double& sentPerSecCurr );
361 
363  virtual DtU32 maxMsgSize() const;
364 
366  void sendMsgToAssistant( const DtAssistantInfo& ifAddr,
367  DtAssistantMsg& msg );
368 
370  virtual void addForeignAssistantConnection(const DtAssistantConnectionStruct& ipAddr, const MAKRti::DtInetAddr& ifAddr);
371 
373  virtual void removeForeignAssistantConnection(const DtAssistantConnectionStruct& ipAddr);
374 
376  virtual void setUuid(const DtAssistantUuid& uuid);
377  virtual const DtAssistantUuid& uuid() const;
378 
379  virtual const DtHostNameAddress& hostNameAddress() const;
380 
381 #ifdef DtDIAGNOSTIC
382 
383  void enableMsgDiagnostics( bool enable );
384 
385 #endif
386 
388  virtual void setIgnoreAllPeerCommunication(bool valToSet) { myIgnoreAllPeerCommunication = valToSet; };
389  virtual bool isIgnoreAllPeerCommunication() const { return myIgnoreAllPeerCommunication; };
390 
392  virtual void addIgnoredAddress(const MAKRti::DtInetAddr& ipAddr);
393 
395  virtual void removeIgnoredAddress(const MAKRti::DtInetAddr& ipAddr);
396 
397  void addConnectionLostCallback(DtAssistantConnectionLostCallback cb, void* usr);
398  void removeConnectionLostCallback(DtAssistantConnectionLostCallback cb, void* usr);
399 
400 protected:
401 
404  virtual void sendStartRtiexecOrForwarderMsg( DtAssistantMsgKind msgKind,
406  const DtAssistantInfo& assistant = DtAssistantInfo() );
407 
411  bool needsProcessing( const DtAssistantMsg& msg );
412 
415  bool addSocketsForInterfaces();
416 
419  bool addTcpServerSocketsForInterfaces(const DtTime& now = 0);
420 
422  bool readAndProcess( DtTime maxTime );
423 
425  bool readAndProcessConnectingTcpSockets(DtTime maxTime);
426 
427  bool readAndProcessTcpSockets(DtTime maxTime);
429  void retransmitToForeignConnections(const DtAssistantMsg& msg);
430  void checkForDeadTcpConnections();
432  void calculateMsgStatistics();
433 
436  void sendMsgOnInterface( const MAKRti::DtInetAddr& ifAddr,
437  DtAssistantMsg& msg, const DtInetAddr& destAddr = DtInetAddr::inaddrAny(), int port = 0);
438 
441  void sendMsg( std::map< MAKRti::DtInetAddr, DtUdpMsgSocket*>::iterator sockIter,
442  DtAssistantMsg& msg, const DtInetAddr& destAddr = DtInetAddr::inaddrAny(), int port = 0, bool sendToForeignAssistants = true );
443 
444  void sendToForeignConnection(std::map< DtInetAddr, DtUdpMsgSocket*>::iterator sockIter,
445  DtAssistantMsg& msg, const DtInetAddr& destAddr, int port);
446  void sendToUDPForeignConnection(std::map< DtInetAddr, DtUdpMsgSocket*>::iterator sockIter, DtAssistantMsg* ptToPtMsg, const DtInetAddr& destAddr, int port);
447  void sendToTCPForeignConnection(std::map< DtInetAddr, DtUdpMsgSocket*>::iterator sockIter, DtTcpMsgSocket* tcpSock, DtAssistantMsg* ptToPtMsg);
449  void sendMsgToAll( DtAssistantMsg& msg, const DtInetAddr& destAddr = DtInetAddr::inaddrAny(), int port = 0, bool sentToForeignAssistants = true );
450 
452  virtual void flushTcpSockets(DtTime maxTime);
453 
455  DtUniquePtr<DtAssistantMsg> netRead(DtMsgSocket* sock, int *retCode, DtInetEndpoint& ep) const;
456 
457  virtual void sendTcpMsg(const DtAssistantConnectionStruct& connection, DtAssistantHandshakeType handshakeType, DtAssistantToAssistantConnectionMsg* msgToSend);
458  virtual DtTcpMsgSocket* initiateTcpConnection(const DtAssistantConnectionStruct& connection);
459  virtual void queueTcpSynMessage(DtTcpMsgSocket* sock, DtAssistantToAssistantConnectionMsg* msgToSend);
460  virtual void addConnectingSocket(DtTcpMsgSocket* sock);
461  virtual void deletePendingSyns(DtTcpMsgSocket* sock);
462  virtual void processConnections();
463  virtual void reset(const DtAssistantConnectionStruct& connection);
465  static void tcpSocketAdditionCb(DtTcpMsgSocket* sock, void* usr);
466  virtual void tcpSocketAdditionCb(DtTcpMsgSocket* sock);
467  static void tcpSocketRemovalCb(DtTcpMsgSocket* sock, void* usr);
468  virtual void tcpSocketRemovalCb(DtTcpMsgSocket* sock);
469 
470 
471  virtual void invokeRemovalCallbacks(const DtAssistantConnectionStruct& second);
472  virtual void removeSocket(DtTcpMsgSocket* sock, const DtAssistantConnectionStruct& conn);
473 public:
474 
476 
477 protected:
478 
480  int myPort;
481 
483  MAKRti::DtInetAddr myIpv4Addr;
484 
486  MAKRti::DtInetAddr myIpv6Addr;
487 
489  int myTtl;
490 
493  int myId;
494 
497  std::map< MAKRti::DtInetAddr, DtUdpMsgSocket*> mySockets;
498 
501  std::map< MAKRti::DtInetAddr, DtRemoteAssistantSet> myInterfaceToUdpForeignConnections;
502 
504  // TODO maybe this compare is wrong (should be by the tok?)
505  std::map< DtAssistantConnectionStruct, MAKRti::DtInetAddr, cmpByPublicAddress> myUdpForeignConnectionToInterface;
506 
507  std::map< DtAssistantConnectionStruct, std::pair< DtTcpMsgSocket*, MAKRti::DtInetAddr >, cmpByConnectionId > myTcpForeignConnections;
508  std::set<DtTcpMsgSocket*> myServerSocketsToDelete;
509  std::vector<std::pair<DtAssistantConnectionStruct, DtTime> > myClientSocketsDeleted;
510  std::map<DtTcpMsgSocket*, DtAssistantConnectionStruct> myAssistantConnectionsRemoved;
513  std::map< MAKRti::DtInetAddr, DtUdpMsgSocket*>::iterator mySocketIter;
514 
517  DtTcpMsgSocket* myCurTcpSocket;
518 
521  MAKRti::DtInetAddr myCurrNetworkInterfaceAddr;
522 
524  MAKRti::DtInetEndpoint myCurrReceivedEndpoint;
525 
528 
530  DtAssistantMessageFactory* myMessageFactory;
531 
533  DtAssistantDfltMsgFactory myDefaultMessageFactory;
534 
536  DtClock myClock;
537 
539  DtTime myNextCheckInterfacesTime;
540 
542  DtTime myNextClearCheckedInterfacesTime;
543 
545  DtTime myNextCheckDeadTcpConnections;
546 
548  DtTime myCheckInterfacesInterval;
549 
551  DtTime myClearCheckedInterfacesInterval;
552 
554  DtTime myCheckTcpConnectionsInterval;
555 
557  DtTime myNextProcessConnectionsTime;
558 
560  DtTime myNextProcessConnectionsInterval;
561 
563  DtTime myBeginProcessingTime;
564 
566  DtTime myNextStatsTime;
567 
569  DtTime myLastStatsTime;
570 
572  {
574  numMsgsCurrPeriod(0), numMsgsTotal(0),
575  msgsPerSecLastPeriod(0), msgsPerSecOverall(0) {}
576 
578  unsigned numMsgsTotal;
581  };
582 
585 
588 
591 
593  std::list<DtInterfaceFoundCbInfo> myInterfaceFoundCallbacks;
594 
596  static const DtTime theStatisticsInterval;
597 
600 
603 
605  unsigned long mySequence;
606 
609 
612 
613  std::set<DtInetAddr> myIgnoredAddresses;
614 
616 
617 #ifdef DtDIAGNOSTIC
618  bool myDiagnosticsEnabled;
619 #endif
620 
622  DtString myHostname;
624  struct cmpByMacAddr {
625  bool operator()(const DtInetDevice& a, const DtInetDevice& b) const {
626  return a.macAddrString() < b.macAddrString();
627  }
628  };
629  // This comparison is currently expensive, but its sort of a rare cost as we don't expect sockets map to grow too big (most computers have 2 network cards)
631  bool operator()(const std::pair<DtString, DtInetUtils::DtInetAddrFamily>& a, const std::pair<DtString, DtInetUtils::DtInetAddrFamily>& b) const {
632  if (a.first != b.first)
633  {
634  return a.first < b.first;
635  }
636  else
637  {
638  return a.second < b.second;
639  }
640  }
641  };
642  typedef std::map<std::pair<DtString, DtInetUtils::DtInetAddrFamily>, DtTcpMsgSocketMgr*, cmpByMacAddrThenFam> DtTcpServerMap;
645  std::map<DtTcpMsgSocket*, MAKRti::DtTime> myPendingConnections;
646 
648 
649  std::map<DtTcpMsgSocket*, DtAssistantToAssistantConnectionMsg*> myPendingTcpSynMessages;
650 
651  //std::map<DtTcpMsgSocket*, DtAssistantConnectionId> myConnectingTcpClientSockets;
652  std::map<DtAssistantConnectionId, DtTcpMsgSocket*> myConnectingTcpClientSockets;
653  std::set<DtTcpMsgSocket*> myConnectingTcpServerSockets;
656 
657 
658  std::set<DtAssistanConnectionCbInfo*> myConnectionLostCallbacks;
659 
660  std::set<std::pair<DtString, DtInetUtils::DtInetAddrFamily>, cmpByMacAddrThenFam> myDevicesChecked;
661 };
bool myProcessingConnections
Definition: rtiAssistantPeer.h:644
void(* DtAssistantSocketRemovalCb)(int compId, const MAKRti::DtString &reason, void *usr)
Definition: rtiAssistantPeer.h:77
virtual Boolean tick(TickTime minimum, TickTime maximum)
static const DtTime theStatisticsInterval
The interval at which message statistics are calculated.
Definition: rtiAssistantPeer.h:596
This file contains the declaration of DtAssistantInfo.
std::set< DtTcpMsgSocket * > myConnectingTcpServerSockets
Definition: rtiAssistantPeer.h:653
unsigned numMsgsTotal
Definition: rtiAssistantPeer.h:578
std::list< DtAssistantPeerSocketAdditionCbInfo * > DtAssistantPeerSocketAdditionCallbackList
Definition: rtiAssistantPeer.h:78
DtUuid DtAssistantUuid
Definition: assistantUtil.h:17
DtHostNameAddress myHostNameAddress
Definition: rtiAssistantPeer.h:623
Contains the DtRtiConnectionAndConfiguration class declaration.
The DtAssistantInfoMsg defines a wrapper for the RTI Assistant information message used by the Assist...
Definition: assistantInfoMsg.h:33
The DtAssistantRemovalMsg defines a wrapper for the RTI Assistant removal message used by Assistants ...
Definition: assistantRemovalMsg.h:29
#define DtAssistantUuidNIL
Definition: assistantInfo.h:23
std::map< DtTcpMsgSocket *, DtAssistantToAssistantConnectionMsg * > myPendingTcpSynMessages
Definition: rtiAssistantPeer.h:649
DtPeerMsgStats()
Definition: rtiAssistantPeer.h:573
Definition: rtiAssistantPeer.h:630
This file contains the declaration of DtAssistantInfoMsg.
This file contains the declaration of DtRtiConnectionInfo.
Stores basic information about a remote assistant.
Definition: assistantInfo.h:96
std::pair< DtRtiConnectionInfo, DtRtiAssociatedConnectionData > DtRtiConnectionInfoDataPair
Pair of connection with associated data.
Definition: assistantConnectionInfo.h:29
Structure Remote Assistant to be displayed.
Definition: assistantInfo.h:39
Definition: tcpMsgSocketMgr.h:43
virtual void setIgnoreAllPeerCommunication(bool valToSet)
set/get myIgnoreAllPeerCommunication
Definition: rtiAssistantPeer.h:388
DtTcpServerMap myPeerTcpServerSockets
Definition: rtiAssistantPeer.h:643
The DtAssistantStartRtiexecMsg defines a wrapper for the RTI Assistant message used to instruct anoth...
Definition: assistantStartRtiexecMsg.h:30
DtAssistantPeerSocketRemovalCallbackList myTcpClientRemovalCallbacks
Definition: rtiAssistantPeer.h:655
std::set< DtInetAddr > myIgnoredAddresses
Definition: rtiAssistantPeer.h:613
unsigned int myPendingConnectionsTimeout
Definition: rtiAssistantPeer.h:647
std::list< DtInterfaceFoundCbInfo > myInterfaceFoundCallbacks
The list of network interface discovery callbacks.
Definition: rtiAssistantPeer.h:593
DtAssistantMsgKind
Definition: assistantMsg.h:53
Base class for assistant Messages.
Definition: assistantMsg.h:153
bool myUsingIpv6
Indicates whether any IPv4 sockets are currently in use.
Definition: rtiAssistantPeer.h:602
void * myUsr
Definition: rtiAssistantPeer.h:72
Stores the Assistant configuration information and handles saving and loading this information from a...
Definition: assistantConfig.h:38
DtAssistantPeerSocketAdditionCallbackList myTcpClientAdditionCallbacks
Definition: rtiAssistantPeer.h:654
bool operator()(const std::pair< DtString, DtInetUtils::DtInetAddrFamily > &a, const std::pair< DtString, DtInetUtils::DtInetAddrFamily > &b) const
Definition: rtiAssistantPeer.h:631
bool myIgnoreAllPeerCommunication
Indicates whether peer communication is ignored. This includes sending/receiving UDP.
Definition: rtiAssistantPeer.h:611
Stores information on a known federate.
Definition: federateInfo.h:21
Definition: rtiAssistantPeer.h:624
Definition: assistantInfo.h:76
DtAssistanConnectionCbInfo(DtAssistantConnectionLostCallback cb, void *usr)
Definition: rtiAssistantPeer.h:65
double msgsPerSecOverall
Definition: rtiAssistantPeer.h:580
The DtAssistantQueryMsg defines a wrapper for the RTI Assistant query message used by Assistants to r...
Definition: assistantQueryMsg.h:34
Definition: rtiAssistantPeer.h:571
#define DT_DLL_ASSISTANT
Default – Unix or Win32 static.
Definition: rtiMsConfig.h:150
DtAssistantHandshakeType
Definition: assistantToAssistantConnectionMsg.h:22
DtPeerMsgStats mySentMsgStats
Message statistics for messages sent to other assistants.
Definition: rtiAssistantPeer.h:590
unsigned numMsgsCurrPeriod
Definition: rtiAssistantPeer.h:577
DtAssistantObservationType
Definition: assistantNetStatsEnums.h:8
DtRtiAssistantPeer manages the sharing of information between one Assistant to other Assistants using...
Definition: rtiAssistantPeer.h:82
Instances of DtAssistantDfltMsgFactory are used to create DtRtiMsgs.
Definition: assistantDefaultMsgFact.h:20
Contains the DtRtiAssistantClient class declaration.
The DtAssistantToAssistantConnectionMsg.
Definition: assistantToAssistantConnectionMsg.h:36
double msgsPerSecLastPeriod
Definition: rtiAssistantPeer.h:579
void(* DtInterfaceFoundCb)(void *)
Definition: rtiAssistantPeer.h:47
void(* DtAssistantSocketAdditionCb)(int compId, void *usr)
Socket addition and removal callback signatures.
Definition: rtiAssistantPeer.h:76
void(* DtAssistantConnectionLostCallback)(const DtAssistantConnectionStruct &sock, void *usr)
Definition: rtiAssistantPeer.h:60
This file contains the declaration of DtAssistantConnMsg.
bool myDisableMulticast
Indicates whether multicast is disabled.
Definition: rtiAssistantPeer.h:608
DtHostNameAddress stores information on a host, input as either hostname, IP address, or both.
Definition: hostNameAddress.h:23
DtPeerMsgStats myReceivedMsgStats
Message statistics for messages received from other assistants.
Definition: rtiAssistantPeer.h:584
bool myUsingIpv4
Indicates whether any IPv4 sockets are currently in use.
Definition: rtiAssistantPeer.h:599
Stores the information on an RTI configuration known by the Assistant.
Definition: assistantConnectionConfigurationInfo.h:61
std::list< DtAssistantPeerSocketRemovalCbInfo * > DtAssistantPeerSocketRemovalCallbackList
Definition: rtiAssistantPeer.h:79
virtual bool isIgnoreAllPeerCommunication() const
Definition: rtiAssistantPeer.h:389
The DtTcpMsgSocket class provides an address family independent TCP socket that handles RTI messages...
Definition: tcpMsgSocket.h:40
The DtAssistantLightweightInfoMsg defines a wrapper for the RTI Assistant lightweight connection info...
Definition: assistantLightweightInfoMsg.h:35
DtPeerMsgStats myProcessedMsgStats
Message statistics for messages processed from other assistants.
Definition: rtiAssistantPeer.h:587
Definition: rtiAssistantPeer.h:61
Definition: assistantInfo.h:86
DtAssistantHandleType
Definition: assistantNetStatsEnums.h:23
The DtMsgSocket provides a wrapper around the MAKRti::DtInetSocket class to operate on messages rathe...
Definition: msgSocket.h:28
std::map< DtTcpMsgSocket *, MAKRti::DtTime > myPendingConnections
Definition: rtiAssistantPeer.h:645
std::set< std::pair< DtString, DtInetUtils::DtInetAddrFamily >, cmpByMacAddrThenFam > myDevicesChecked
Definition: rtiAssistantPeer.h:660
Structure containing State information from a single federation.
Definition: federationInfo.h:42
std::set< DtLicServerInfo > DtLicServerSet
Definition: assistantLicServerInfo.h:62
Stores the information on an RTI connection and possibly matching configuration known by the Assistan...
Definition: connectionAndConfiguration.h:22
DT_DLL_ASSISTANT DtMessageCallbackManager< DtAssistantMsg, DtAssistantMsgKind > DtAssistantMsgCbMgr
Definition: assistantMsgCbMgr.h:18
unsigned long mySequence
Message sequence number.
Definition: rtiAssistantPeer.h:605
DtUuid DtAssistantConnectionId
Definition: assistantInfo.h:28
#define DtCbInfoStruct(cbType)
Definition: rtiAssistantPeer.h:48
std::map< DtAssistantConnectionId, DtTcpMsgSocket * > myConnectingTcpClientSockets
Definition: rtiAssistantPeer.h:652
This file contains the declaration of DtLicServerInfo.
bool operator()(const DtInetDevice &a, const DtInetDevice &b) const
Definition: rtiAssistantPeer.h:625
std::set< DtAssistanConnectionCbInfo * > myConnectionLostCallbacks
Definition: rtiAssistantPeer.h:658
DtAssistantConnectionLostCallback myCb
Definition: rtiAssistantPeer.h:71
The DtUdpMsgSocket class provides an address family independent UDP socket that handles RTI messages...
Definition: udpMsgSocket.h:26
std::set< DtAssistantConnectionStruct, cmpByConnectionIdThenPublicAddress > DtRemoteAssistantSet
Definition: assistantInfo.h:93
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
DtAssistantUuid myUuid
Definition: rtiAssistantPeer.h:615
DtString myHostname
The hostname used by the peer when populating messages it sends.
Definition: rtiAssistantPeer.h:622
std::map< std::pair< DtString, DtInetUtils::DtInetAddrFamily >, DtTcpMsgSocketMgr *, cmpByMacAddrThenFam > DtTcpServerMap
Definition: rtiAssistantPeer.h:642

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)