MAK RTIspy API Documentation for HLA 1.3
 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 
29 {
30 public:
31  DtRtiSmSocket(const char * sharename, DtBoost::shared_ptr<DtMsgHeaderReader> hdrReader);
32 
33  virtual ~DtRtiSmSocket();
34 
38  virtual bool initializeSmQueue(DtU32 id = DtSM_INVALID_SUBSCRIBER_ID,
39  bool forceSubscribe = false);
45  virtual bool initializeSmQueue(DtU32 numBuckets, DtU32 payloadSize,
46  bool reliableQueue,
47  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 DtInetAddr& destAddr = DtInetAddr::inaddrAny());
54 
57  virtual bool flush();
58 
62  virtual int getMsgTransportInfo(DtInetAddr *addr, DtU32 *transAndPriority);
63 
65  virtual 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( DtU32 rcvMask );
87 
92  virtual void setAnonFilter( bool onOrOff );
93 
95  virtual DtInetSockState state() const;
96 
97 protected:
98 
99  MAKRti::DtString mySharedMemName;
101  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  DtInetSockState myState;
124 
125 protected:
127  DtRtiSmSocket(const DtRtiSmSocket &);
128 
131 
132  virtual int recv(caddr_t *buffptr, DtInetEndpoint* ep);
133 
134  virtual bool filterAnonMsgs( caddr_t buffptr, DtU32 msgSenderId );
135 
136 };
137 
138 #endif
virtual DtInetSockState state() const
Returns the state of the socket.
Definition: msgSocket.h:130
virtual DtSmSubscribableMessageQueue__rti__ * msgQueue() const
~DtRtiSmSocketBundleBuff()
Definition: rtiSmSocket.h:113
virtual bool initializeSmQueue(DtU32 id=DtSM_INVALID_SUBSCRIBER_ID, bool forceSubscribe=false)
Attach to shared memory message queue.
DtInetSockState myState
The current state of the socket.
Definition: rtiSmSocket.h:123
Definition: rtiSmSocket.h:109
DtRtiSmSocket provides access to shared memory via a subscribable message queue tailored to the need ...
Definition: rtiSmSocket.h:28
DtSmSocket provides access to shared memory via a subscribable message queue.
Definition: smSocket__rti__.h:43
#define DtSM_INVALID_SUBSCRIBER_ID
Definition: vlShmSubscribableMessageQueue__rti__.h:37
DtSmSocket__rti__ & operator=(const DtSmSocket__rti__ &)
Not Implemented.
This file declares DtRtiSubscribableMessageQueue.
DtRtiSmSocketBundleBuff()
Definition: rtiSmSocket.h:112
virtual int recv(caddr_t *buffptr, DtInetEndpoint *ep)
Gets the next message from the incoming data.
std::map< MAKRti::DtInetAddr, DtRtiSmSocketBundleBuff > RtiBufferMap
Definition: rtiSmSocket.h:119
bool myAnonFilterEnabled
Definition: rtiSmSocket.h:102
MAKRti::DtString mySharedMemName
Definition: rtiSmSocket.h:99
virtual int sendMessage(caddr_t msg, size_t msgSize, bool deleteAfterSend, const DtInetAddr &notUsed=DtInetAddr::inaddrAny())
The send method sendMessage() ignores the destination address and does not promulgate any transport m...
std::vector< char > Buffer
Definition: rtiSmSocket.h:107
DtRtiSubscribableMessageQueue * myRtiSmMsgQueue
Definition: rtiSmSocket.h:100
Implements a message queue for multiple subscribers.
Definition: smSubscribableMessageQueue.h:80
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
DtU32 myRecvMask
Definition: rtiSmSocket.h:101
Buffer bbBuff
Definition: rtiSmSocket.h:115
RtiBufferMap myRtiBufferMap
Definition: rtiSmSocket.h:120
virtual bool flush()
Send buffered messages.

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)