MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
requestDb.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: requestDb.h,v $ $Revision: 1.22 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtRequestDb
13 #define DtRequestDb
14 
15 #include <vlutil/vlHashlist.h>
16 #include "attrHandSet.h"
17 #include "fedHandleSet.h"
18 #include "internalTypes.h"
19 
20 #include <map>
21 #include <list>
22 
36 
37 
39 {
40 public:
41 
43  virtual ~DtRequestDatabase();
44 
46  virtual void clearAll();
47 
53  virtual void addRemoteRequest(
54  const DtAttributeHandleSet& requestSet,
55  DtFederateHandle fed);
56 
60  virtual void removeRemoteRequest(
61  const DtAttributeHandleSet& requestSet,
62  DtFederateHandle fed);
63 
66  virtual void removeRemoteRequest(
67  const DtAttributeHandleSet& requestSet);
68 
71  virtual void addPendingConfirm(
72  const DtAttributeHandleSet& requestSet,
73  DtFederateHandle fed);
74 
78  virtual void removePendingConfirm(
79  const DtAttributeHandleSet& requestSet,
80  DtFederateHandle fed);
81 
82  virtual void addSkipPendingConfirm(
83  const DtAttributeHandleSet& requestSet,
84  DtFederateHandle fed);
85 
86  virtual void removeSkipPendingConfirm(
87  const DtAttributeHandleSet& requestSet,
88  DtFederateHandle fed);
89  virtual void removePendingSkipConfirm(
90  const DtAttributeHandleSet& requestSet);
91 
94  virtual void removePendingConfirm(
95  const DtAttributeHandleSet& requestSet);
96 
99  void moveRemoteRequestToPendingList(
100  const DtAttributeHandleSet& requestSet );
101 
102 
105  virtual void cancelRemoteRequest(
106  const DtAttributeHandleSet& canceledSet, DtFederateHandle fed);
107 
109  virtual void cancelAllRemoteRequest(
110  const DtAttributeHandleSet& canceledSet);
111 
112 
114  virtual void removeCanceledRequests(
115  const DtAttributeHandleSet& releaseSet);
116 
119  virtual bool isRequestCanceled(DtAttributeHandle hand) const;
120 
122  virtual DtAttributeHandleSet canceledRequestSet() const;
123 
131  virtual DtFederateHandle releaseRequested(
132  const DtAttributeHandleSet& inSet,
133  DtAttributeHandleSet* releasedSet,
134  bool keepForConfirm);
135 
142  virtual DtFederateHandle releaseConfirm(
143  const DtAttributeHandleSet& inSet,
144  DtAttributeHandleSet* releasedSet);
145 
148  virtual DtFederateHandle pendingRemoteRequest(DtAttributeHandle hand) const;
149 
152  virtual DtFederateHandle pendingConfirm(DtAttributeHandle hand) const;
153 
156  virtual DtAttributeHandleSet requestedByFed(DtFederateHandle fed,
157  bool includePendingConfirm=false) const;
158 
160  virtual DtAttributeHandleSet remoteRequestByFed( DtFederateHandle fed ) const;
161 
163  virtual DtAttributeHandleSet pendingConfirmByFed( DtFederateHandle fed ) const;
164 
165 
167  virtual int requestCount() const;
168 
170  virtual DtAttributeHandleSet const& requestedAttributes() const;
171 
173  virtual int confirmCount() const;
174 
176  virtual DtAttributeHandleSet const& pendingConfirmAttributes() const;
177 
178  virtual DtAttributeHandleSet const& pendingSkipConfirmAttributes() const;
179 
182  virtual void markPendingRequestsUnavailable(const DtAttributeHandleSet& requestSet,
183  DtFederateHandle confirmedFed );
184 
187  virtual DtFederateHandle unavailablePendingRequests( DtAttributeHandleSet* invalidatedSet );
188  virtual DtAttributeHandleSet pendingSkipConfirmByFed( DtFederateHandle fed ) const;
189  virtual DtFederateHandle pendingSkipConfirm(DtAttributeHandle hand) const;
190 protected:
191 
192  typedef std::map< DtAttributeHandle, DtFederateHandleSet > DtAttrToFederatesMap;
193  typedef std::map< DtFederateHandle, DtAttributeHandleSet > DtFedToAttributesMap;
194 
197 
201 
205 
207  // (situational due to acquire/acquireifavail, and denied vs cancelNegotiated vs owned vs confirm).
210 
214 };
215 
216 
217 
218 #endif
219 
DtAttrToFederatesMap myRemoteRequestsByAttr
Definition: requestDb.h:200
DtFedToAttributesMap myUnavailableRequestsByFed
In 1516, multiple federates may have pending requests, when the divest is confirmed for one federate...
Definition: requestDb.h:213
std::map< DtAttributeHandle, DtFederateHandleSet > DtAttrToFederatesMap
Definition: requestDb.h:192
DtAttributeHandleSet myRemoteRequestSet
Attributes whose ownership has been requested by a remote federate.
Definition: requestDb.h:196
DtAttributeHandleSet myRemoteCanceledRequestSet
Requests that have been canceled. Not important by whom.
Definition: requestDb.h:199
Definition: attrHandSet.h:37
DtAttributeHandleSet myPendingConfirmSet
Definition: requestDb.h:204
DtHandle DtFederateHandle
Definition: internalTypes.h:29
DtAttrToFederatesMap myPendingConfirmByAttr
In 1516, the attributes are not release until confirmed.
Definition: requestDb.h:203
DtHandle DtAttributeHandle
Definition: internalTypes.h:37
DtAttributeHandleSet myPendingSkipConfirmSet
Definition: requestDb.h:209
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
The declaration of internal types.
DtAttrToFederatesMap myPendingSkipConfirmByAttr
In 1516-2010, the some pending confirms do not send unavailable.
Definition: requestDb.h:208
std::map< DtFederateHandle, DtAttributeHandleSet > DtFedToAttributesMap
Definition: requestDb.h:193
class DtRequestDatabase
Definition: requestDb.h:38

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)