MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rtiSmSocket.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2005 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: rtiSmSocket.h,v $ $Revision: 1.8 $ $State: Exp $
7 *********************************************************************/
8 #ifndef rtiSmSocket_H_
9 #define rtiSmSocket_H_
10 
15 
16 #include <smSocket__rti__.h>
18 
27 
28 class DT_DLL_LRC DtRtiSmSocket : public MAKRti::DtSmSocket__rti__
29 {
30 public:
31  DtRtiSmSocket(const char * sharename, std::shared_ptr<DtMsgHeaderReader> hdrReader);
32 
33  virtual ~DtRtiSmSocket();
34 
38  virtual bool initializeSmQueue(MAKRti::DtU32 id = DtSM_INVALID_SUBSCRIBER_ID,
39  bool forceSubscribe = false);
45  virtual bool initializeSmQueue(MAKRti::DtU32 numBuckets, MAKRti::DtU32 payloadSize,
46  bool reliableQueue,
47  MAKRti::DtU32 id = DtSM_INVALID_SUBSCRIBER_ID,
48  bool forceSubscribe = false);
49 
52  virtual int sendMessage(caddr_t msg, size_t msgSize, bool deleteAfterSend,
53  unsigned int flags, const MAKRti::DtInetAddr& destAddr = MAKRti::DtInetAddr::inaddrAny());
54 
57  virtual bool flush();
58 
62  virtual int getMsgTransportInfo(MAKRti::DtInetAddr *addr, MAKRti::DtU32 *transAndPriority);
63 
65  virtual MAKRti::DtSmSubscribableMessageQueue__rti__ * msgQueue() const;
66 
68  virtual bool queueIsReliable() const;
69 
74 
77  virtual int waitForMessages(MAKRti::DtTime waitTime = 0.0);
78 
81  virtual int waitUntilFull(MAKRti::DtTime waitTime = 0.0);
82 
86  virtual void setReceiveMask( MAKRti::DtU32 rcvMask );
87 
92  virtual void setAnonFilter( bool onOrOff );
93 
95  virtual MAKRti::DtInetSockState state() const;
96 
97 protected:
98 
99  MAKRti::DtString mySharedMemName;
101  MAKRti::DtU32 myRecvMask;
103 
106  friend class DtRtiSmSocketBundleBuff;
107  typedef std::vector<char> Buffer;
108 
110  {
111  public:
114  unsigned int bbFlags;
116  };
117 
118 
119  typedef std::map< MAKRti::DtInetAddr, DtRtiSmSocketBundleBuff > RtiBufferMap;
121 
123  MAKRti::DtInetSockState myState;
124 
125 protected:
127  DtRtiSmSocket(const DtRtiSmSocket &);
128 
130  DtRtiSmSocket &operator=(const DtRtiSmSocket &);
131 
132  virtual int recv(caddr_t *buffptr, MAKRti::DtInetEndpoint* ep);
133 
134  virtual bool filterAnonMsgs( caddr_t buffptr, MAKRti::DtU32 msgSenderId );
135 
136 };
137 
138 #endif
~DtRtiSmSocketBundleBuff()
Definition: rtiSmSocket.h:113
Definition: rtiSmSocket.h:109
DtRtiSmSocket provides access to shared memory via a subscribable message queue tailored to the need ...
Definition: rtiSmSocket.h:28
#define DtSM_INVALID_SUBSCRIBER_ID
Definition: vlShmSubscribableMessageQueue__rti__.h:37
This file declares DtRtiSubscribableMessageQueue.
DtRtiSmSocketBundleBuff()
Definition: rtiSmSocket.h:112
MAKRti::DtInetSockState myState
The current state of the socket.
Definition: rtiSmSocket.h:123
std::map< MAKRti::DtInetAddr, DtRtiSmSocketBundleBuff > RtiBufferMap
Definition: rtiSmSocket.h:119
bool myAnonFilterEnabled
Definition: rtiSmSocket.h:102
MAKRti::DtString mySharedMemName
Definition: rtiSmSocket.h:99
std::vector< char > Buffer
Definition: rtiSmSocket.h:107
DtRtiSubscribableMessageQueue * myRtiSmMsgQueue
Definition: rtiSmSocket.h:100
Implements a message queue for multiple subscribers.
Definition: smSubscribableMessageQueue.h:78
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
MAKRti::DtU32 myRecvMask
Definition: rtiSmSocket.h:101
Buffer bbBuff
Definition: rtiSmSocket.h:115
RtiBufferMap myRtiBufferMap
Definition: rtiSmSocket.h:120

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)