MAK RTIspy API Documentation for HLA Evolved
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 
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

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)