17 #include <vlutil/vlUtil.h>
19 #include <vlutil/vlHashlist.h>
20 #include <vlutil/vlFedTarget.h>
45 tuple(
unsigned int o,
float r, MAKRti::DtTime t):offset(o),rate(r),timestamp(t){}
57 return remoteSubscriptions.find(fedHandle) != remoteSubscriptions.end();
185 void initUpdateRates(
const MAKRti::DtUpdateRateSetT rates);
195 virtual const char* objName()
const;
196 virtual void setObjName(
const char* name);
219 virtual bool ownPriviledgeToDelete()
const;
227 virtual void setIsKnown(
bool isKnownValue);
228 virtual bool isKnown()
const;
252 virtual bool hasBeenUpdated()
const;
255 virtual void markAsUpdated();
258 virtual bool hasBeenReflected()
const;
261 virtual void markAsReflected();
304 virtual void addRemoteRequest(
311 virtual void removeRemoteRequest(
340 virtual void cancelRemoteRequest(
358 virtual int requestCount()
const;
364 virtual int confirmCount()
const;
388 bool keepForConfirm);
402 bool includePendingConfirm=
false);
425 virtual bool okToReceive(
DtHandle attrHandle,
float tolerance);
428 virtual unsigned int computeAttrOffset(
DtHandle attrHandle);
437 virtual int expectedCount(
443 virtual void selectExpected(
450 virtual void removeUnexpected(
493 virtual bool inScope()
const;
563 virtual DtBitMask getDestinations()
const;
574 virtual void overrideDestinations(
DtBitMask const& mask);
577 virtual void setAllDestinations();
592 virtual bool isUpdateOn()
const;
607 virtual MAKRti::DtTransportType attrTransport(
DtAttributeHandle theHandle)
const;
613 virtual void setAttrTransport(
DtAttributeHandle theHandle, MAKRti::DtTransportType transport);
616 virtual void setAttrOrder(
DtAttributeHandle theHandle, MAKRti::DtOrderType order);
620 virtual void setRegionSet(
DtAttributeHandle attrHandle, DtPubRegionSet* regionSet);
632 virtual unsigned int encodedLength()
const;
634 virtual void encode(
const char *buff);
642 void setTimeToUseDestinations(MAKRti::DtTime timeVal);
645 MAKRti::DtTime timeToUseDestinations()
const;
650 #if !defined(DtIFSPEC1516) && !defined(DtIFSPEC1516)
659 static void setUseDiscoveredClass(
bool yesNo);
662 virtual DtBitMask * getAttributeOwnerDestinationMask(
DtBitMask * bitMask = NULL)
const;
763 std::map<DtAttributeHandle, DtObjectAttrInfo>
myAttrs;
std::map< float, DtObjectAttrInfo::tuple > myUpdateRateHold
Helper class for calculating update rate reduction values. Kept here for performance reasons...
Definition: rtiObject.h:786
DtAttributeHandleSet myPendingReqIfAvailSet
Definition: rtiObject.h:734
Definition: aHandValBase.h:21
Definition: rtiObject.h:97
DtFederateHandleStdSet remoteSubscriptions
Federate handles for DM.
Definition: rtiObject.h:81
float rate
Added to base mcast addr;.
Definition: rtiObject.h:48
MAKRti::DtTime timestamp
Definition: rtiObject.h:49
static bool theUseDiscoveredClass
Indicates if discovered class should be used.
Definition: rtiObject.h:776
DtAttributeHandleSet myDivestedSet
Attributes unconditionally divested and managed by LRC These attributes must be actively divested by ...
Definition: rtiObject.h:726
std::map< DtAttributeHandle, DtObjectAttrInfo > myAttrs
List of attributes and information about them.
Definition: rtiObject.h:763
DtPubRegionSet * regionSet
Region used to publish attribute.
Definition: rtiObject.h:72
DtAttributeHandleSet myOwnedSet
The set of attributes owned by this federate.
Definition: rtiObject.h:698
Definition: rtiObject.h:96
DtAttributeHandleSet myUnownedSet
Attributes never owned or divested through unpublish and managed by LRC.
Definition: rtiObject.h:722
std::map< DtRegionHandle, DtFederateHandle > DtRegionToFederateMap
Definition: internalTypes.h:68
DtObjectClassInfo * myActualClass
Actual class info.
Definition: rtiObject.h:744
DtUpdateType myUpdateType
Indicates the update type.
Definition: rtiObject.h:716
DtObjectInstanceHandle myId
The object instance handle.
Definition: rtiObject.h:686
DtAttributeHandleSet myDivestingSet
Attributes for which we have initiated a negotiated divestiture.
Definition: rtiObject.h:738
unsigned int offset
Definition: rtiObject.h:47
MAKRti::DtOrderType order
Current time management order type.
Definition: rtiObject.h:66
char * myObjName
The object instance name.
Definition: rtiObject.h:695
tuple()
Definition: rtiObject.h:44
DtObjectClassInfo * myKnownClass
Known class info.
Definition: rtiObject.h:747
DtAttributeHandleSet myPendingRequestSet
Attributes that we've requested, whose requests are pending.
Definition: rtiObject.h:733
bool myIsKnown
Indicates if the federate knows about this object.
Definition: rtiObject.h:704
static DtEmptyRtiObjectCreator theEmptyCreator
Static Creator Method for Empty RTI Objects.
Definition: rtiObject.h:779
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
DtAttributeHandleSet myOutHandleSet
Temporary set holds owned attributes of a given set.
Definition: rtiObject.h:701
bool myHasBeenReflected
Indicates if this object has been reflected.
Definition: rtiObject.h:713
DtRtiObject *(* DtEmptyRtiObjectCreator)()
creator Typedef for Empty RTI Object Creator
Definition: rtiObject.h:102
DtRegionToFederateMap remoteSubscriptionRegions
Federate subscribed by region index by region.
Definition: rtiObject.h:75
DtUpdateType
Update type for object.
Definition: rtiObject.h:94
DtAttributeHandleSet myInScopeAttrs
Attribute in scope advisory status.
Definition: rtiObject.h:750
DtObjectClassHandle myActualHandle
The actual object class handle.
Definition: rtiObject.h:689
MAKRti::DtTime myTimeToUseDestinations
Time that smart forwarding destinations should take effect Before this time, RTI is waiting for disco...
Definition: rtiObject.h:768
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
DtBitMask * myOverideDestinationsMask
Create this bit mask to override remote subscrbie destinations.
Definition: rtiObject.h:760
Attribute information maintained per object.
Definition: rtiObject.h:38
static DtDiscoveredRtiObjectCreator theDiscoveredCreator
Static Creator Method for Discovered RTI Objects.
Definition: rtiObject.h:783
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
The RTI object maintains the internal RTI object state.
Definition: rtiObject.h:123
Definition: rtiObject.h:41
std::deque< tuple > offsets
list of (offset, timestamp) for sending
Definition: rtiObject.h:90
std::map< DtFederateHandle, DtObjectClassHandle > DtObjectClassHandleByFederateHandleMap
Definition: rtiObject.h:32
static DtRegisteredRtiObjectCreator theRegisteredCreator
Static Creator Method for Registered RTI Objects.
Definition: rtiObject.h:781
DtFederateHandle myOwnerHandle
The federate who owns the privilege to delete.
Definition: rtiObject.h:707
DtObjectClassHandle myKnownHandle
The federate knows the object as this class.
Definition: rtiObject.h:692
std::map< DtFederateHandle, DtRegionHandle > DtFederateToRegionMap
Definition: internalTypes.h:69
MAKRti::DtTime myNextReceiveTime
Timestamp for deciding whether to receive current update.
Definition: rtiObject.h:87
DtHandle regionSetHandle
Handle of publish region set (when region set is not yet available)
Definition: rtiObject.h:69
tuple(unsigned int o, float r, MAKRti::DtTime t)
Definition: rtiObject.h:45
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
bool isRemotelySubscribed(DtFederateHandle fedHandle) const
Definition: rtiObject.h:55
DtAttributeHandleSet myUpdateOnAttrs
Attribute update on advisory status.
Definition: rtiObject.h:753
Definition: aHandValSet.h:33
bool myHasBeenUpdated
Indicates if this object has been updated.
Definition: rtiObject.h:710
DtRtiObject *(* DtDiscoveredRtiObjectCreator)(DtObjectInstanceHandle id, const char *objName, DtObjectClassInfo *actualClass, DtObjectClassInfo *discoveredClass, DtUpdateType updateType)
creator Typedef for Discovered RTI Object creator
Definition: rtiObject.h:111
DtAttributeHandleSet myRtiOwnedSet
Attributes owned by the RTI (MOM attributes)
Definition: rtiObject.h:729
DtBitMask represents a variable length bit-field which may be used to represent an array of boolean d...
Definition: bitMask.h:24
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
DtObjectClassHandleByFederateHandleMap myKnownAttributeOwnersMap
This contains attribute owner information.
Definition: rtiObject.h:772
DtRtiObject *(* DtRegisteredRtiObjectCreator)(DtObjectInstanceHandle id, const char *objName, DtObjectClassInfo *actualClass, DtUpdateType updateType)
creator Typedef for Registered RTI Object Creator
Definition: rtiObject.h:105
The declaration of internal types.
Definition: objClassInfo.h:36
MAKRti::DtTransportType transport
Current transport type.
Definition: rtiObject.h:63
DtFederateToRegionMap remoteSubscriptionRegionsByFederate
Region used in remote subscription indexed by federate.
Definition: rtiObject.h:78
std::set< DtFederateHandle > DtFederateHandleStdSet
Definition: internalTypes.h:47
Definition: rtiObject.h:98
DtAttributeHandleSet myLrcManagedSet
Union of attributes that are not owned by anyone and managed by LRC.
Definition: rtiObject.h:719
DtBitMask remoteSubscriberMask
Union of DM and DDM subs.
Definition: rtiObject.h:84
std::map< DtFederateHandle, DtObjectClassHandle > myDiscoveredClass
For each remote federate that discovered this object, contains the discovery class handle...
Definition: rtiObject.h:757
class DtRequestDatabase
Definition: requestDb.h:38
DtRequestDatabase myRemoteReqDb
Database of remote request information. These attributes are owned.
Definition: rtiObject.h:741