VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes
makVrf::DtVrlinkNetworkInterface Class Reference

class DtVrlinkNetworkInterface:

The DtVrlinkNetworkInterface will interface with the DIS/HLA network via VR-Link. Assumes fully initialized state data manager is passed in.

Inheritance diagram for makVrf::DtVrlinkNetworkInterface:
Inheritance graph
[legend]

Classes

struct  ComponentCreationRule
 
struct  ComponentRuleUserData
 
struct  ComponentTypeUserData
 
class  DefaultNetworkInterfaceEntry
 
struct  TimeManagementData
 

Public Types

typedef DtPublisherContainer
< DtSimObjectNetInterface
PublisherContainer
 
typedef boost::function< bool(const
DtStateComponent *, const
DtStateData *, std::shared_ptr
< ComponentRuleUserData >)> 
CreationRule
 
- Public Types inherited from DtNetworkManagerInterface
enum  AddEventResult { DoNotContinue = 0, Continue = 0x00000001 }
 

Public Member Functions

 DtVrlinkNetworkInterface (DtExerciseConn *, int clockMode=0)
 
virtual ~DtVrlinkNetworkInterface () override
 
virtual void beginFrame (double) override
 
virtual bool preAdvanceFrame () override
 
virtual void advanceFrame (double *networkTime=nullptr) override
 
virtual bool waitingToAddObjects () const override
 
virtual void setBlockOnUnfinishedRemoteDiscovery (bool)
 
bool blockOnUnfinishedRemoteDiscovery () const
 
virtual const chartype () const override
 
virtual bool printDataToStream (const DtUUID &, DtOutputStream &stream) const override
 
virtual void setInterest (const DtVector &geocentricCenter, double radius) override
 
virtual DtUUID entityThatHostsRadio (const DtGlobalObjectDesignator &, int radioIndex) const
 
virtual DtGlobalObjectDesignator radioGlobalObjectDesignatorFor (const DtUUID &entityUUID, int radioIndex, bool *radioFound=nullptr) const
 
virtual DtStateDatastateDataForGlobalId (const DtString &) const override
 
virtual DtStateDatastateDataForEntityId (const DtString &) const
 
virtual const DtStateDatastateDataForUUID (const DtUUID &) const
 
virtual DtStateDatastateDataForUUID (const DtUUID &)
 
virtual const DtStateDatastateDataForUniqueId (UInt64) const
 
virtual DtStateDatastateDataForUniqueId (UInt64)
 
virtual bool supportsOwnershipTransfer () const override
 
virtual const DtStateDatastateDataFor (DtHlaObject *) const
 
virtual std::vector
< DtGlobalObjectDesignator
getObjectsPublishedBy (const DtStateData *) const
 
virtual const
DtEntityStateRepository
entityStateRepository (const DtUUID &) const
 
virtual DtVrfEntityPublisherentityPublisherFor (const DtUUID &) const
 
virtual void lostControlOf (DtReflectedObject *)
 
virtual void lostControlOf (DtReflectedDIGuyObject *)
 
virtual void lostControlOf (makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObject *)
 
virtual DtReflectedObjectgainControlOfExtendedAttribute (DtHlaObject *)
 
virtual void gainedConntrolOfUnknownHlaObject (DtHlaObject *)
 
virtual DtSimObjectNetInterfacegainControlOf (DtHlaObjectWithStateRep *obj, DtHlaObjectWithStateRep *extendedAttributes=nullptr)
 
virtual DtReflectedObjectreflectedObjectFor (const DtGlobalObjectDesignator &) const
 
virtual DtUUID uuidForGeoReferenceVariant (const DtGeoReferenceVariant &georeference) const
 
virtual DtStateDatastateDataForGeoReferenceVariant (const DtGeoReferenceVariant &) const
 
virtual void mapStateDataByGeoReferenceVariant (DtStateData *std, const DtGeoReferenceVariant &grv)
 
virtual bool unmapStateDataByGeoReferenceVariant (const DtGeoReferenceVariant &grv)
 
virtual bool unmapGeoReferenceVariantByStateData (const DtStateData *sd)
 
virtual void setExerciseStartTime (double) override
 
virtual void setSimTime (double) override
 
virtual void setTimeMultiplier (double) override
 
virtual void resetSimulation () override
 
virtual void setControlsDrainInput (bool)
 
bool controlsDrainInput () const
 
virtual void setPreferredDateAndTimeRepository (DtTimeAndDateStateRepository *)
 
DtTimeAndDateStateRepositorypreferredDateAndTimeRepository () const
 
virtual std::string protocol () const override
 
virtual bool runningInTimeManagedMode () const
 
virtual void processStartTimeManagement ()
 
virtual void processStopTimeManagement ()
 
virtual void setReflectedListRequestUpdates (bool yesOrNo)
 
virtual void setDisableRemoteDiscovery (bool)
 
bool disableRemoteDiscovery () const
 
virtual void setDefaultObjectTimeout (int)
 
int defaultObjectTimeout () const
 
virtual void setDisableTimeoutProcessing (bool)
 
bool timeoutProcessingDisabled () const
 
virtual void setComponentPublisherCreatorRule (CreationRule, const DtString &networkInterface, const ComponentRuleUserData &userData=ComponentRuleUserData(), const DtString &testBeforeInterface="")
 
virtual bool createInterfaceIfComponentIs (const DtStateComponent *c, const DtStateData *d, std::shared_ptr< ComponentRuleUserData >)
 
virtual DtSimObjectNetInterfacecreateNetInterface (DtStateData *sd)
 
virtual void reserveEntityId (const DtEntityIdentifier &) override
 
virtual void setRunFullyThreaded (bool) override
 
virtual bool runFullyThreaded () const
 
virtual void setEnabled (bool) override
 
virtual void setCoordinateSystem (const Coordinate_System *) override
 
const Coordinate_SystemcoordinateSystem () const
 
DtExerciseConn * exerciseConnection ()
 
virtual void removeAndDeleteAll (const std::set< DtUUID > &except=std::set< DtUUID >()) override
 
virtual bool wantsToSelfReflect (unsigned int) const
 
virtual bool selfReflecting () const override
 
virtual void setSelfReflecting (bool) override
 
virtual void setParameterDatabase (DtVrfParameterDb *db) override
 
DtVrfParameterDbparameterDatabase () const
 
virtual unsigned int maxNameLengthForType (const DtEntityType &) const override
 
virtual void setVrfSessionId (int) override
 
virtual int vrfSessionId () const
 
virtual void setVrfMessageVersionSupported (int) override
 
virtual int vrfMessageVersionSupported () const
 
virtual void setPublishZeroVelocityWhenPaused (bool)
 
bool publishZeroVelocityWhenPaused () const
 
unsigned int simMgmtPduProcessLevel () const
 
virtual void setSimMgmtPduProcessLevel (unsigned int level)
 
virtual void setDeadReckoningAlgorithmToStaticOnPause (bool)
 
bool setDeadReckoningAlgorithmToStaticOnPause () const
 
virtual void overrideDeadReckoningAlgorithm (int drAlg)
 
virtual bool isDeadReckonAlgorithmOverridden (int &drAlg) const
 
virtual void removeDeadReckoningAlgorithmOverride ()
 
virtual DtEntityIdentifier nextEntityIdentifier (const DtStateData *=0, const DtEntityIdentifier &=DtEntityIdentifier())
 
virtual DtEntityIdentifier objectIdentifierFor (SimStateID) const
 
virtual DtEntityIdentifier objectIdentifierFor (const DtUUID &) const
 
virtual DtEntityIdentifier globalObjectIdentifierFor (const DtUUID &) const
 
virtual DtEntityIdentifier globalObjectIdentifierFor (SimStateID) const
 
virtual DtUUID uuidForObjectIdentifier (const DtEntityIdentifier &) const
 
virtual DtUUID uuidForObjectIdentifier (const DtGlobalObjectDesignator &) const
 
virtual void setSiteAppId (int, int) override
 
virtual DtString nextEventId (const DtString &entId=DtString::nullString()) override
 
virtual int setAppIdRangeMax (int)
 
virtual
DtVrfEntityIdentifierFactory
createVrfEntityIdentifierFactory ()
 
virtual void startScenarioLoad (bool) override
 
virtual void endScenarioLoad (bool) override
 
virtual AddEventResult addEvent (const makVrfEvents::DtEvent &, bool &selfReflect) override
 
virtual AddEventResult sendEvent (const makVrfEvents::DtEvent &) override
 
virtual double determineSimTime (double &dt, DtCommunicationManagerPerformanceTimerInformation *performanceTimerInformation=nullptr) override
 
virtual double simTime () const
 
virtual void setMaxDrainInputTime (double maxTime)
 
virtual double maxDrainInputTime () const
 
virtual void setFrameRateMode (const DtString &mode, double deltaTime, bool manageTime=false) override
 
virtual void rewindScenario () override
 
virtual void setMinDrainInputTime (double minTime)
 
virtual double minDrainInputTime () const
 
virtual void setFrameDeltaTime (double)
 
virtual double frameDeltaTime () const
 
virtual void beginBulkCreate () override
 
virtual void endBulkCreate () override
 
virtual void addEventTranslator (int eventType, DtVrlinkEventTranslator *)
 
virtual void removeEventTranslator (int eventType)
 
virtual DtVrlinkEventTranslatoreventTranslatorFor (int eventType) const
 
virtual void run () override
 
virtual void pause () override
 
virtual bool typeIsPublishable (const DtEntityType &) const override
 
virtual bool hasNetworkRepresentation (const DtUUID &) const override
 
virtual void setBulkAddTimeout (double)
 
virtual double bulkAddTimeout () const
 
virtual void setEventManager (makVrfEvents::DtEventManager *) override
 
makVrfEvents::DtEventManagereventManager ()
 
DtCommunicationManagercommunicationManager ()
 
DtRemoteObjectManagerremoteObjectManager ()
 
virtual DtU32 scenarioCapabilities () const override
 
virtual void setScenarioCapabilities (DtU32) override
 
virtual void setNumCallbackThreads (unsigned) override
 
virtual void setNumRemoteCallbackThreads (unsigned)
 
virtual void addDefaultNetworkInterface (const DtEntityType &, const DtString &local, const DtString &remote)
 
virtual void removeDefaultNetworkInterface (const DtEntityType &)
 
virtual DtString defaultInterfaceTypeFor (const DtStateData *) const
 
virtual void setUseNetworkThread (bool)
 
virtual bool usingNetworkThread () const
 
virtual void setDisableParallelPublisherTick (bool)
 
virtual bool disableParallelPublisherTick () const
 
virtual void setTickPublishersDuringEntityTick (bool)
 
virtual bool tickPublishersDuringEntityTick () const
 
virtual void reserve (unsigned numToReserve) override
 
virtual bool willRediscoverObjects () const
 
virtual void setReflectedLists (const DtReflectedObjectLists &)
 
virtual bool stateDataAdded (DtStateData *) override
 
virtual double networkFrameTime () const
 
virtual void setSendMessagesInNetworkProcess (bool)
 
bool sendMessagesInNetworkProcess () const
 
virtual DtString nextGlobalObjectId (const DtString &defaultId=DtString::nullString())
 
virtual unsigned maxInteractionSize () const
 
virtual void lockEsr (const DtUUID &, bool forWrite)
 
virtual void unlockEsr (const DtUUID &, bool fromWrite)
 
virtual void setLimitSizeToMtu (bool limitToMtu)
 
virtual bool limitSizeToMtu () const
 
- Public Member Functions inherited from DtNetworkManagerInterface
 DtNetworkManagerInterface ()
 
virtual ~DtNetworkManagerInterface ()
 

Static Public Member Functions

static void SetRemoteObjectManagerCreatorFcn (DtRemoteObjectManagerCreatorFcn)
 
static
DtRemoteObjectManagerCreatorFcn 
RemoteObjectManagerCreatorFcn ()
 
static const charType ()
 
static void startTimeManagement (void *usr)
 
static void stopTimeManagement (void *usr)
 
static void setVrlinkNetworkInterfaceCreatorFcn (DtVrlinkNetworkInterfaceCreatorFcn fcn)
 
static DtVrlinkNetworkInterfacecreateVrlinkNetworkInterface (DtExerciseConn *, int clockMode=0)
 

Protected Types

typedef std::map< SimStateID,
DtSimObjectNetInterface * > 
Publishing
 
typedef std::map
< DtStateComponent
*, DtSimObjectNetInterface * > 
StateComponentsPublishing
 
typedef std::map< SimStateID,
StateComponentsPublishing
ComponentsPublishing
 
typedef std::map
< DtGlobalObjectDesignator,
DtSimObjectNetInterface * > 
GlobalIdForNetworkInterface
 
typedef std::map< DtString,
DtStateData * > 
StateDataByGlobalId
 
typedef std::map< DtString,
DtStateData * > 
StateDataByEntityId
 
typedef std::map
< DtGeoReferenceVariant,
DtStateData * > 
StateDataByGeoreferenceVariant
 
typedef std::vector
< ComponentCreationRule
ComponentCreationRules
 
typedef std::condition_variable Condition
 
typedef std::mutex ConditionMutex
 
typedef std::unique_lock
< ConditionMutex
ConditionLock
 
typedef
DtOrderedEntityTypeList
< DefaultNetworkInterfaceEntry * > 
DefaultNetworkInterfaceEntries
 
using LostControlOf = std::map< DtReflectedObject *, std::vector< DtGlobalObjectDesignator >>
 
typedef std::unordered_map
< DtUUID, tbb::spin_rw_mutex * > 
HostEsrMap
 

Protected Member Functions

virtual void slot_convertedToLocal (DtStateData *)
 
virtual void sendQueuedMessages ()
 
virtual bool init (DtCommunicationManager *) override
 
virtual DtRemoteObjectManagercreateRemoteObjectManager ()
 
virtual void reserveGlobalObjectIds (unsigned numToReserve)
 
virtual bool isPublishableComponent (DtStateComponent *sc) const
 
virtual void stateComponentAdded (DtStateComponent *)
 
virtual void stateComponentRemoved (const DtStateComponent *)
 
virtual bool validateScenario (const DtScenario &s, DtString &error) const override
 
virtual bool hasSimulationTime () const override
 
virtual bool needsUnpublishedDatabase () const override
 
virtual void advanceFrame (DtVrfCallbackQueue *)
 
virtual void slot_prepareForHandoff (DtStateData *, bool becomingLocal)
 
virtual void stateDataAboutToBeRemoved (const DtStateData *) override
 
virtual void printReflectedObjectCounts () const override
 
virtual void requestUpdatesForRemoteNonVrfObjects () const override
 
void createExerciseClock (int clockMode=0)
 
virtual void drainInput ()
 
virtual void createNetInterfaceFor (DtStateComponent *)
 
virtual void cleanupNetworkThread ()
 
virtual void runNetwork ()
 
virtual void resolvePendingIds ()
 
virtual const
DtVrfObjectParameters
lookupParameterEntry (const DtEntityType &ot) const
 
virtual void createAndInitRemoteObjectManager ()
 
virtual bool rediscoverObjects () override
 
virtual bool publishingOnLegionNetwork () const override
 
virtual void stateDataManagerDeleted ()
 
virtual void setExecutionState (DtVRLExecutionStatus status)
 

Protected Attributes

DtExerciseConn * myExerciseConnection
 
DtStateDataManagermyStateDataManager
 
bool myEnabled
 
bool myRunFullyThreaded
 
PublisherContainer myNeedsPublishersCreated
 
PublisherContainer myTickableInterfaces
 
Publishing myPublishing
 
ComponentsPublishing myComponentsPublishing
 
tbb::queuing_rw_mutex myPublishingMutex
 
tbb::spin_rw_mutex myStateDataMutex
 
GlobalIdForNetworkInterface myGlobalIdForNetworkInterface
 
DtRemoteObjectManagermyRemoteObjectManager
 
StateDataByGlobalId myStateDataByGlobalId
 
std::set< DtStateData * > myPendingGlobalIds
 
StateDataByEntityId myStateDataByEntityId
 
std::set< DtStateData * > myPendingEntityIds
 
StateDataByGeoreferenceVariant myStateDataByGeoreferenceVariant
 
ComponentCreationRules myComponentCreationRules
 
const Coordinate_SystemmyCoordinateSystem
 
DtVrfParameterDbmyParameterDatabase
 
int myVrfSessionId
 
int myVrfMessageVersionSupported
 
bool myPublishZeroVelocityWhenPaused
 
bool myIsDeadReckonAlgorithmOverridden
 
int myDeadReckonOverrideAlgorithm
 
bool mySetDeadReckoningAlgorithmToStaticOnPause
 
bool myBlockOnUnfinishedRemoteDiscovery
 
tbb::spin_mutex myEventIdMutex
 
int myAppIdRangeMax
 
DtVrfEntityIdentifierFactorymyEntityIdentifierFactory
 
makVrfEvents::DtEventManagermyEventManager
 
double myMaxDrainInputTime
 
DtHlaExerciseClockmyExerciseClock
 
double myMinDrainInputTime
 
double myFrameDeltaTime
 
DtFilename myFastForwardSettingsFile
 
DtFastForwardSettings myFastForwardSettings
 
DtDefaultSimulationModelSetValidatorManager mySimulationModelSetValidator
 
DtVrlinkEventTranslatorManagermyVrlinkEventTranslatorManager
 
std::set< DtStateComponent * > myCreateNetInterfaceFor
 
unsigned int mySimMgmtPduProcessLevel
 
DtCommunicationManagermyCommunicationManager
 
std::unique_ptr< std::thread > myNetworkThread
 
Condition myStartNetworkCondition
 
ConditionMutex myStartNetworkConditionMutex
 
std::atomic< boolmyShutdownNetworkThreadFlag
 
DtVrfCallbackQueuemyNetworkCallbackQueue
 
tbb::mutex myNetworkThreadMutex
 
bool myDisableRemoteDiscovery
 
bool myControlsDrainInput
 
bool myTickPublishersInNetworkThread
 
double myBulkAddTimeout = 1.0 / 2.0
 
std::atomic< boolmyProcessingNetwork
 
bool myReflectedListRequestUpdatesOn
 
TimeManagementData myTimeManagementData
 
double myNextFrameSimTime
 
double myCurrentFrameSimTime
 
double myLastSetSimTime
 
std::atomic< boolmyStartNetworkThread
 
int myDefaultObjectTimeout
 
bool myDisableTimeoutProcessing = false
 
DefaultNetworkInterfaceEntries myDefaultNetworkInterfaceEntries
 
DtReflectedObjectLists myReflectedObjectLists
 
std::vector
< DtSimObjectNetInterface * > 
myInterfacesToDelete
 
double myNetworkFrameTime
 
bool mySendMessagesInNetworkProcess
 
tbb::spin_mutex myQueuedMessagesToSendMutex
 
std::vector
< makVrfEvents::DtEvent * > 
myQueuedMessagesToSend
 
int myNumNetworkWorkerThreads
 
bool myBulkCreateInProgress
 
unsigned int myBulkCreateTickCounter
 
bool myScenarioLoaded
 
bool myLimitSizeToMtu
 
DtVrfObjectIdGeneratormyVrfObjectIdGenerator
 
tbb::spin_mutex myLostControlOfMutex
 
LostControlOf myLostControlOf
 
std::map
< DtGlobalObjectDesignator,
bool
myNeedsToLoseControlOf
 
std::set
< DtReflectedDIGuyObject * > 
myLostControlOfDIGuy
 
std::set
< makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObject * > 
myLostControlOfExtendedAttributes
 
DtTimeAndDateStateRepositorymyPreferredDateAndTimeRepository = nullptr
 
bool myEnteredTimeManagedMode = false
 
tbb::spin_rw_mutex myHostEsrMapMutex
 
HostEsrMap myHostEsrMap
 
DtU32 myScenarioCapabilities
 

Static Protected Attributes

static
DtVrlinkNetworkInterfaceCreatorFcn 
theCreator
 
static
DtRemoteObjectManagerCreatorFcn 
theRemoteObjectManagerCreatorFcn
 

Member Typedef Documentation

typedef boost::function<bool (const DtStateComponent*, const DtStateData*, std::shared_ptr<ComponentRuleUserData>)> makVrf::DtVrlinkNetworkInterface::CreationRule
typedef std::map<DtGeoReferenceVariant, DtStateData*> makVrf::DtVrlinkNetworkInterface::StateDataByGeoreferenceVariant
protected
typedef std::condition_variable makVrf::DtVrlinkNetworkInterface::Condition
protected
typedef std::unordered_map<DtUUID, tbb::spin_rw_mutex*> makVrf::DtVrlinkNetworkInterface::HostEsrMap
protected

Constructor & Destructor Documentation

makVrf::DtVrlinkNetworkInterface::DtVrlinkNetworkInterface ( DtExerciseConn *  ,
int  clockMode = 0 
)

constructor. If clockMode is 1, and time stamp mode is absolute, will not use performance counter as clock counter

virtual makVrf::DtVrlinkNetworkInterface::~DtVrlinkNetworkInterface ( )
overridevirtual

Member Function Documentation

virtual void makVrf::DtVrlinkNetworkInterface::beginFrame ( double  simTime)
overridevirtual

Called when the frame is stated. The sim time passed in will be that from determineSimTime call.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::preAdvanceFrame ( )
overridevirtual

Called when the frame wants to be advanced. Called before state data advance. Return false to not continue advancing frame. This can be useful if the network is still processing and the application doesn't want to block.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::advanceFrame ( double networkFrameTime = nullptr)
overridevirtual

Called when the frame wants to be advanced and possibly process the network. If networkFrameTime is supplied, return the amount of time spent processing network messages.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::waitingToAddObjects ( ) const
overridevirtual

Returns true if this manager is waiting to add network objects.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setBlockOnUnfinishedRemoteDiscovery ( bool  )
virtual

If true (default is false), if not running network in a thread, will block in preAdvanceFrame until the remote discovery is finished.

bool makVrf::DtVrlinkNetworkInterface::blockOnUnfinishedRemoteDiscovery ( ) const
inline
static void makVrf::DtVrlinkNetworkInterface::SetRemoteObjectManagerCreatorFcn ( DtRemoteObjectManagerCreatorFcn  )
static
static DtRemoteObjectManagerCreatorFcn makVrf::DtVrlinkNetworkInterface::RemoteObjectManagerCreatorFcn ( )
static
virtual const char* makVrf::DtVrlinkNetworkInterface::type ( ) const
inlineoverridevirtual

Type to uniquely identify this manager.

Implements DtNetworkManagerInterface.

static const char* makVrf::DtVrlinkNetworkInterface::Type ( )
inlinestatic
virtual bool makVrf::DtVrlinkNetworkInterface::printDataToStream ( const DtUUID ,
DtOutputStream &  stream 
) const
overridevirtual

Called to see if this wants to print data to a stream.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setInterest ( const DtVector &  geocentricCenter,
double  radius 
)
overridevirtual

No-op.

Implements DtNetworkManagerInterface.

virtual DtUUID makVrf::DtVrlinkNetworkInterface::entityThatHostsRadio ( const DtGlobalObjectDesignator ,
int  radioIndex 
) const
virtual

Map the radio global identifier to the host for the radio. Will look at both publishing and remote radio list for host.

virtual DtGlobalObjectDesignator makVrf::DtVrlinkNetworkInterface::radioGlobalObjectDesignatorFor ( const DtUUID entityUUID,
int  radioIndex,
bool radioFound = nullptr 
) const
virtual

Map the entity id and radio index to the global id for the radio. If radio does not exist returns global id of the host entity. Pass in boolean to see if the radio is found. This will only look at published radios.

virtual DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForGlobalId ( const DtString ) const
overridevirtual

Given the global object designator, return the state data associated with it.

Implements DtNetworkManagerInterface.

virtual DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForEntityId ( const DtString ) const
virtual
virtual const DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForUUID ( const DtUUID ) const
virtual
virtual DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForUUID ( const DtUUID )
virtual
virtual const DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForUniqueId ( UInt64  ) const
virtual
virtual DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForUniqueId ( UInt64  )
virtual
virtual bool makVrf::DtVrlinkNetworkInterface::supportsOwnershipTransfer ( ) const
overridevirtual

Returns true if this protocol supports ownership transfer.

Implements DtNetworkManagerInterface.

virtual const DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataFor ( DtHlaObject *  ) const
virtual
virtual std::vector<DtGlobalObjectDesignator> makVrf::DtVrlinkNetworkInterface::getObjectsPublishedBy ( const DtStateData ) const
virtual

Returns a list of global ids of all the objects published by this data.

virtual const DtEntityStateRepository* makVrf::DtVrlinkNetworkInterface::entityStateRepository ( const DtUUID ) const
virtual
virtual DtVrfEntityPublisher* makVrf::DtVrlinkNetworkInterface::entityPublisherFor ( const DtUUID ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::lostControlOf ( DtReflectedObject )
virtual
virtual void makVrf::DtVrlinkNetworkInterface::lostControlOf ( DtReflectedDIGuyObject *  )
virtual
virtual void makVrf::DtVrlinkNetworkInterface::lostControlOf ( makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObject )
virtual
virtual DtReflectedObject* makVrf::DtVrlinkNetworkInterface::gainControlOfExtendedAttribute ( DtHlaObject *  )
virtual

Returns the object this hla object is associated with.

virtual void makVrf::DtVrlinkNetworkInterface::gainedConntrolOfUnknownHlaObject ( DtHlaObject *  )
virtual
virtual DtSimObjectNetInterface* makVrf::DtVrlinkNetworkInterface::gainControlOf ( DtHlaObjectWithStateRep *  obj,
DtHlaObjectWithStateRep *  extendedAttributes = nullptr 
)
virtual
virtual DtReflectedObject* makVrf::DtVrlinkNetworkInterface::reflectedObjectFor ( const DtGlobalObjectDesignator ) const
virtual
virtual DtUUID makVrf::DtVrlinkNetworkInterface::uuidForGeoReferenceVariant ( const DtGeoReferenceVariant &  georeference) const
virtual
virtual DtStateData* makVrf::DtVrlinkNetworkInterface::stateDataForGeoReferenceVariant ( const DtGeoReferenceVariant &  ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::mapStateDataByGeoReferenceVariant ( DtStateData std,
const DtGeoReferenceVariant &  grv 
)
virtual
virtual bool makVrf::DtVrlinkNetworkInterface::unmapStateDataByGeoReferenceVariant ( const DtGeoReferenceVariant &  grv)
virtual
virtual bool makVrf::DtVrlinkNetworkInterface::unmapGeoReferenceVariantByStateData ( const DtStateData sd)
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setExerciseStartTime ( double  )
overridevirtual

Start day/date time of the exercise.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setSimTime ( double  )
overridevirtual

Sets the current simulation time.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setTimeMultiplier ( double  )
overridevirtual

Sets the current time multiplier.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::resetSimulation ( )
overridevirtual

Called when the simulation wants to be reset.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setControlsDrainInput ( bool  )
virtual

Whether or not the calling of drainInput happens as a function of this connection or if the supplied exercise connection is drained elsewhere. Default is true.

bool makVrf::DtVrlinkNetworkInterface::controlsDrainInput ( ) const
virtual void makVrf::DtVrlinkNetworkInterface::setPreferredDateAndTimeRepository ( DtTimeAndDateStateRepository )
virtual
DtTimeAndDateStateRepository* makVrf::DtVrlinkNetworkInterface::preferredDateAndTimeRepository ( ) const
inline
virtual std::string makVrf::DtVrlinkNetworkInterface::protocol ( ) const
inlineoverridevirtual

Descriptive text of the network protocol.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::runningInTimeManagedMode ( ) const
virtual

Run in HLA time management mode. If true, back-end will act as both a time regulating and time constrained federate.

static void makVrf::DtVrlinkNetworkInterface::startTimeManagement ( void *  usr)
static

Callback functions to be executed as post-drain callbacks on the DtExerciseConnection. Calls corresponding virtual process{Start,Stop}TimeManagement() functions.

static void makVrf::DtVrlinkNetworkInterface::stopTimeManagement ( void *  usr)
static
virtual void makVrf::DtVrlinkNetworkInterface::processStartTimeManagement ( )
virtual

Starts/stops HLA time management. Enables/disables back-end as a time regulating and constrained federate.

virtual void makVrf::DtVrlinkNetworkInterface::processStopTimeManagement ( )
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setReflectedListRequestUpdates ( bool  yesOrNo)
virtual

=D?

virtual void makVrf::DtVrlinkNetworkInterface::setDisableRemoteDiscovery ( bool  )
virtual

Turn on/off the discovery of remote objects (default is on)

bool makVrf::DtVrlinkNetworkInterface::disableRemoteDiscovery ( ) const
inline
virtual void makVrf::DtVrlinkNetworkInterface::setDefaultObjectTimeout ( int  )
virtual
int makVrf::DtVrlinkNetworkInterface::defaultObjectTimeout ( ) const
inline
virtual void makVrf::DtVrlinkNetworkInterface::setDisableTimeoutProcessing ( bool  )
virtual
bool makVrf::DtVrlinkNetworkInterface::timeoutProcessingDisabled ( ) const
inline
virtual void makVrf::DtVrlinkNetworkInterface::setComponentPublisherCreatorRule ( CreationRule  ,
const DtString networkInterface,
const ComponentRuleUserData userData = ComponentRuleUserData(),
const DtString testBeforeInterface = "" 
)
virtual
virtual bool makVrf::DtVrlinkNetworkInterface::createInterfaceIfComponentIs ( const DtStateComponent c,
const DtStateData d,
std::shared_ptr< ComponentRuleUserData  
)
virtual

Default creator for component. Will return true if the component created is of the given type. Use this function as the default creation rule.

virtual DtSimObjectNetInterface* makVrf::DtVrlinkNetworkInterface::createNetInterface ( DtStateData sd)
virtual
virtual void makVrf::DtVrlinkNetworkInterface::reserveEntityId ( const DtEntityIdentifier &  )
overridevirtual

Reserves the entity id such that if a new object without an entity id comes in, it will not use any of the reserved ones.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setRunFullyThreaded ( bool  )
overridevirtual

Whether or not to run fully threaded.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::runFullyThreaded ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setEnabled ( bool  )
overridevirtual

Whether or not the communication manager is enabled for receiving information.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setCoordinateSystem ( const Coordinate_System )
overridevirtual

Sets the coordinate system used in this simulation.

Implements DtNetworkManagerInterface.

const Coordinate_System* makVrf::DtVrlinkNetworkInterface::coordinateSystem ( ) const
inline
DtExerciseConn* makVrf::DtVrlinkNetworkInterface::exerciseConnection ( )
inline
virtual void makVrf::DtVrlinkNetworkInterface::removeAndDeleteAll ( const std::set< DtUUID > &  except = std::set< DtUUID >())
overridevirtual

Called when all objects are being deleted, will indicate that all remotes will eventually need to be rediscovered.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::wantsToSelfReflect ( unsigned  int) const
virtual
virtual bool makVrf::DtVrlinkNetworkInterface::selfReflecting ( ) const
overridevirtual

Returns true if the exercise connection is self reflecting.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setSelfReflecting ( bool  )
inlineoverridevirtual

No-op. Once the connection is created the self reflecting cannot be changed.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setParameterDatabase ( DtVrfParameterDb )
overridevirtual

VRF specific for creating network interfaces from parameter data.

Implements DtNetworkManagerInterface.

DtVrfParameterDb* makVrf::DtVrlinkNetworkInterface::parameterDatabase ( ) const
inline
virtual unsigned int makVrf::DtVrlinkNetworkInterface::maxNameLengthForType ( const DtEntityType &  ) const
overridevirtual

If the network interface supports it, the maximum name of a marking text.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setVrfSessionId ( int  )
overridevirtual

If used, the session id this VRF session is in.

Implements DtNetworkManagerInterface.

virtual int makVrf::DtVrlinkNetworkInterface::vrfSessionId ( ) const
inlinevirtual
virtual void makVrf::DtVrlinkNetworkInterface::setVrfMessageVersionSupported ( int  )
overridevirtual

If used the message version this VRF session uses.

Implements DtNetworkManagerInterface.

virtual int makVrf::DtVrlinkNetworkInterface::vrfMessageVersionSupported ( ) const
inlinevirtual
virtual void makVrf::DtVrlinkNetworkInterface::setPublishZeroVelocityWhenPaused ( bool  )
virtual

Sets whether or not to publish zero velocity (and acceleration) when paused. Default is true.

bool makVrf::DtVrlinkNetworkInterface::publishZeroVelocityWhenPaused ( ) const
inline
unsigned int makVrf::DtVrlinkNetworkInterface::simMgmtPduProcessLevel ( ) const
inline

Set/Get the type of receiver ids to process when processing a sim mgmt PDU 1={*,*,*}&{*,*,0} <- wildcarded recipients 2={a,b,0} <- specific ids only 3= both 1 and 2 4= Processes any sim mgmt PDUs that match (with wildcards) the sim's simulation address.

virtual void makVrf::DtVrlinkNetworkInterface::setSimMgmtPduProcessLevel ( unsigned int  level)
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setDeadReckoningAlgorithmToStaticOnPause ( bool  )
virtual

When the simulation is paused set the dead reckoning algorithm for aggregates and entities to static. This turned on in conjunction with publishZeroVelocityWhenPaused turn off will pause the objects in a VR-Forces run simulation and still show current values for velocity, speed, acceleration, etc.

bool makVrf::DtVrlinkNetworkInterface::setDeadReckoningAlgorithmToStaticOnPause ( ) const
inline
virtual void makVrf::DtVrlinkNetworkInterface::overrideDeadReckoningAlgorithm ( int  drAlg)
virtual

Overrides the dead reckoning algorithm of all objects.

virtual bool makVrf::DtVrlinkNetworkInterface::isDeadReckonAlgorithmOverridden ( int drAlg) const
virtual

Returns true if dead reckoning algorithm override is enabled and fills in drAlg with the overridden value.

virtual void makVrf::DtVrlinkNetworkInterface::removeDeadReckoningAlgorithmOverride ( )
virtual

Removes the dead reckoning algorithm override and returns all objects to their default DR algorithms.

virtual DtEntityIdentifier makVrf::DtVrlinkNetworkInterface::nextEntityIdentifier ( const DtStateData = 0,
const DtEntityIdentifier &  = DtEntityIdentifier() 
)
virtual
virtual DtEntityIdentifier makVrf::DtVrlinkNetworkInterface::objectIdentifierFor ( SimStateID  ) const
virtual
virtual DtEntityIdentifier makVrf::DtVrlinkNetworkInterface::objectIdentifierFor ( const DtUUID ) const
virtual
virtual DtEntityIdentifier makVrf::DtVrlinkNetworkInterface::globalObjectIdentifierFor ( const DtUUID ) const
virtual
virtual DtEntityIdentifier makVrf::DtVrlinkNetworkInterface::globalObjectIdentifierFor ( SimStateID  ) const
virtual
virtual DtUUID makVrf::DtVrlinkNetworkInterface::uuidForObjectIdentifier ( const DtEntityIdentifier &  ) const
virtual
virtual DtUUID makVrf::DtVrlinkNetworkInterface::uuidForObjectIdentifier ( const DtGlobalObjectDesignator ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setSiteAppId ( int  ,
int   
)
overridevirtual

The site and app id of this back-end.

Implements DtNetworkManagerInterface.

virtual DtString makVrf::DtVrlinkNetworkInterface::nextEventId ( const DtString entId = DtString::nullString())
overridevirtual

Call to get an event id to use in an interaction. Moved to simManager such that a call to the exerciseConnection does not need to be made fro, other code (in case this implementation changes)

Implements DtNetworkManagerInterface.

virtual int makVrf::DtVrlinkNetworkInterface::setAppIdRangeMax ( int  )
virtual
virtual DtVrfEntityIdentifierFactory* makVrf::DtVrlinkNetworkInterface::createVrfEntityIdentifierFactory ( )
virtual
virtual void makVrf::DtVrlinkNetworkInterface::startScenarioLoad ( bool  )
overridevirtual

Called when starting scenario load. True is passed in to reuse identifiers if network dependent.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::endScenarioLoad ( bool  )
overridevirtual

Called when ending scenario load. True is passed in to reuse identifiers if network dependent.

Implements DtNetworkManagerInterface.

virtual AddEventResult makVrf::DtVrlinkNetworkInterface::addEvent ( const makVrfEvents::DtEvent ,
bool selfReflect 
)
overridevirtual

Send this event on the network.

Implements DtNetworkManagerInterface.

virtual AddEventResult makVrf::DtVrlinkNetworkInterface::sendEvent ( const makVrfEvents::DtEvent )
overridevirtual

Sends event on network without adding to event manager if immediately self reflected.

Implements DtNetworkManagerInterface.

virtual double makVrf::DtVrlinkNetworkInterface::determineSimTime ( double dt,
DtCommunicationManagerPerformanceTimerInformation performanceTimerInformation = nullptr 
)
overridevirtual

Determine the next simulation time. Implement only if hasSimulationTime returns true.

Reimplemented from DtNetworkManagerInterface.

virtual double makVrf::DtVrlinkNetworkInterface::simTime ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setMaxDrainInputTime ( double  maxTime)
virtual
virtual double makVrf::DtVrlinkNetworkInterface::maxDrainInputTime ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setFrameRateMode ( const DtString mode,
double  deltaTime,
bool  manageTime = false 
)
overridevirtual

Sets the mode for the exercise clock.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::rewindScenario ( )
overridevirtual

Called when the scenario is rewound.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setMinDrainInputTime ( double  minTime)
virtual
virtual double makVrf::DtVrlinkNetworkInterface::minDrainInputTime ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setFrameDeltaTime ( double  )
virtual
virtual double makVrf::DtVrlinkNetworkInterface::frameDeltaTime ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::beginBulkCreate ( )
overridevirtual

Signaling the start/end of bulk object creation.

Reimplemented from DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::endBulkCreate ( )
overridevirtual

Reimplemented from DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::addEventTranslator ( int  eventType,
DtVrlinkEventTranslator  
)
virtual

Adds a new event translator into the system.

virtual void makVrf::DtVrlinkNetworkInterface::removeEventTranslator ( int  eventType)
virtual

Removes an event translator from the system.

virtual DtVrlinkEventTranslator* makVrf::DtVrlinkNetworkInterface::eventTranslatorFor ( int  eventType) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::run ( )
overridevirtual

Puts the simulation into run mode by letting the network connections know.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::pause ( )
overridevirtual

Puts the simulation into pause mode by letting the network connections know.

Implements DtNetworkManagerInterface.

static void makVrf::DtVrlinkNetworkInterface::setVrlinkNetworkInterfaceCreatorFcn ( DtVrlinkNetworkInterfaceCreatorFcn  fcn)
static
static DtVrlinkNetworkInterface* makVrf::DtVrlinkNetworkInterface::createVrlinkNetworkInterface ( DtExerciseConn *  ,
int  clockMode = 0 
)
static
virtual bool makVrf::DtVrlinkNetworkInterface::typeIsPublishable ( const DtEntityType &  ) const
inlineoverridevirtual

Returns true if the entity type is publishable by this connection.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::hasNetworkRepresentation ( const DtUUID ) const
overridevirtual

Returns true if this UUID has a network representation.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setBulkAddTimeout ( double  )
virtual

Bulk add timeout is the amount of time to give (max) to bulk adding entities before stopping until the next good time to bulk add entities. It will be the number of entities that can be created within this partiicular timeframe.

virtual double makVrf::DtVrlinkNetworkInterface::bulkAddTimeout ( ) const
inlinevirtual
virtual void makVrf::DtVrlinkNetworkInterface::setEventManager ( makVrfEvents::DtEventManager )
overridevirtual

Sets the event manager to use process messages received from the network.

Implements DtNetworkManagerInterface.

makVrfEvents::DtEventManager* makVrf::DtVrlinkNetworkInterface::eventManager ( )
inline
DtCommunicationManager* makVrf::DtVrlinkNetworkInterface::communicationManager ( )
inline
DtRemoteObjectManager* makVrf::DtVrlinkNetworkInterface::remoteObjectManager ( )
inline
virtual DtU32 makVrf::DtVrlinkNetworkInterface::scenarioCapabilities ( ) const
overridevirtual

Capabilities of this back-end.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setScenarioCapabilities ( DtU32  )
overridevirtual
virtual void makVrf::DtVrlinkNetworkInterface::setNumCallbackThreads ( unsigned  )
overridevirtual

If this is greater than 0 and running fully threaded, puts into thread mode where a thread is started and a number of threads are pooled for running the network interfaces. If this is 0 the main thread (in a parallel for) is used to run the network interfaces in a begin (remote) and advance (local) frame. Will also set number of threads in remote if not using network thread.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::setNumRemoteCallbackThreads ( unsigned  )
virtual

Sets the number of threads to use only in the remote object manager.

virtual void makVrf::DtVrlinkNetworkInterface::addDefaultNetworkInterface ( const DtEntityType &  ,
const DtString local,
const DtString remote 
)
virtual
virtual void makVrf::DtVrlinkNetworkInterface::removeDefaultNetworkInterface ( const DtEntityType &  )
virtual
virtual DtString makVrf::DtVrlinkNetworkInterface::defaultInterfaceTypeFor ( const DtStateData ) const
virtual

Given the state data, return the default interface type for what is registered.

virtual void makVrf::DtVrlinkNetworkInterface::setUseNetworkThread ( bool  )
virtual

Sets whether or not to use the networking in a thread that is run during begin frame. Advance frame will be held up until the thread is complete. Default is false.

virtual bool makVrf::DtVrlinkNetworkInterface::usingNetworkThread ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setDisableParallelPublisherTick ( bool  )
virtual

Turn on/off parallel ticking of publishers. Default is on.

virtual bool makVrf::DtVrlinkNetworkInterface::disableParallelPublisherTick ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::setTickPublishersDuringEntityTick ( bool  )
virtual

Turn on/off whether or not to tick publishers during the entity tick frame. If this is turned on (default is off) advanceFrame cannot be started until the thread is complete.

virtual bool makVrf::DtVrlinkNetworkInterface::tickPublishersDuringEntityTick ( ) const
virtual
virtual void makVrf::DtVrlinkNetworkInterface::reserve ( unsigned  numToReserve)
overridevirtual

This is mostly a VR-Link/HLA concept where a global object designator is used to identify the network object separately from their entity identifiers. This method will only be implemented in certain protocols.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::willRediscoverObjects ( ) const
virtual

Returns true if this interface will rediscover objects when rediscoverObjects is called.

virtual void makVrf::DtVrlinkNetworkInterface::setReflectedLists ( const DtReflectedObjectLists )
virtual

Call this to set the reflects lists into the remote object manager. If the remote object manager exists will call re-initialize.

virtual bool makVrf::DtVrlinkNetworkInterface::stateDataAdded ( DtStateData )
overridevirtual

Called when state data is added. Return true to signal that this network interface is handling the publication of this state data and no other interface should. Called in interface insertion order.

Implements DtNetworkManagerInterface.

virtual double makVrf::DtVrlinkNetworkInterface::networkFrameTime ( ) const
inlinevirtual

Time spent in the network frame.

virtual void makVrf::DtVrlinkNetworkInterface::setSendMessagesInNetworkProcess ( bool  )
virtual
bool makVrf::DtVrlinkNetworkInterface::sendMessagesInNetworkProcess ( ) const
inline
virtual DtString makVrf::DtVrlinkNetworkInterface::nextGlobalObjectId ( const DtString defaultId = DtString::nullString())
virtual

Returns a new global object Id. Called when a new object is being created. In HLA 1516, this will return a pre-reserved Id if there are any. In other protocols or if there are no pre-reserved Ids, the defaultId is just returned.

virtual void makVrf::DtVrlinkNetworkInterface::setLimitSizeToMtu ( bool  limitToMtu)
virtual

Indicates that, where possible, large messages should be limited to the MTU size. Default is false.

virtual bool makVrf::DtVrlinkNetworkInterface::limitSizeToMtu ( ) const
virtual

Indicates that, where possible, large messages should be limited to the MTU size. Default is false.

virtual unsigned makVrf::DtVrlinkNetworkInterface::maxInteractionSize ( ) const
virtual

Returns the maximum number of bytes that should be sent in a single interaction.

virtual void makVrf::DtVrlinkNetworkInterface::lockEsr ( const DtUUID ,
bool  forWrite 
)
virtual

Lock/unlock mutex at the UUID level to prevent writing when we are embarked on the object.

virtual void makVrf::DtVrlinkNetworkInterface::unlockEsr ( const DtUUID ,
bool  fromWrite 
)
virtual
virtual void makVrf::DtVrlinkNetworkInterface::slot_convertedToLocal ( DtStateData )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::sendQueuedMessages ( )
protectedvirtual
virtual bool makVrf::DtVrlinkNetworkInterface::init ( DtCommunicationManager )
overrideprotectedvirtual

Called when added to the network interface manager. Do not call directly.

Implements DtNetworkManagerInterface.

virtual DtRemoteObjectManager* makVrf::DtVrlinkNetworkInterface::createRemoteObjectManager ( )
protectedvirtual

Creates the remote object manager. Called from init.

virtual void makVrf::DtVrlinkNetworkInterface::reserveGlobalObjectIds ( unsigned  numToReserve)
protectedvirtual

Reserves the specified number of global object Ids. Only currently works in HLA Evolved.

virtual bool makVrf::DtVrlinkNetworkInterface::isPublishableComponent ( DtStateComponent sc) const
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::stateComponentAdded ( DtStateComponent )
protectedvirtual

Creates the new network interface.

virtual void makVrf::DtVrlinkNetworkInterface::stateComponentRemoved ( const DtStateComponent )
protectedvirtual

Removes the new network interface.

virtual bool makVrf::DtVrlinkNetworkInterface::validateScenario ( const DtScenario s,
DtString error 
) const
overrideprotectedvirtual

If any connection returns false do not run.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::hasSimulationTime ( ) const
inlineoverrideprotectedvirtual

Return true if this network interface also deals with simulation time.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::needsUnpublishedDatabase ( ) const
inlineoverrideprotectedvirtual

Return true if this connection uses the simulation database to publish on (as a legion connection does). If so then this connection will also need to let the system know it needs to provide an unpublished database.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::advanceFrame ( DtVrfCallbackQueue )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::slot_prepareForHandoff ( DtStateData ,
bool  becomingLocal 
)
protectedvirtual

Called when the object is preparing for VRF handoff, destroy/recreate the interface.

virtual void makVrf::DtVrlinkNetworkInterface::stateDataAboutToBeRemoved ( const DtStateData )
overrideprotectedvirtual

Called when state data is about to be removed.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::printReflectedObjectCounts ( ) const
overrideprotectedvirtual

Print non locally simulated object count to the screen.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::requestUpdatesForRemoteNonVrfObjects ( ) const
overrideprotectedvirtual

If there are objects on other simulation systems, and the network protocol supports the request, request to force an update of any non simulated VR-Forces object.

Implements DtNetworkManagerInterface.

void makVrf::DtVrlinkNetworkInterface::createExerciseClock ( int  clockMode = 0)
protected

Called from constructor to create exercise clock.

virtual void makVrf::DtVrlinkNetworkInterface::drainInput ( )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::createNetInterfaceFor ( DtStateComponent )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::cleanupNetworkThread ( )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::runNetwork ( )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::resolvePendingIds ( )
protectedvirtual
virtual const DtVrfObjectParameters* makVrf::DtVrlinkNetworkInterface::lookupParameterEntry ( const DtEntityType &  ot) const
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::createAndInitRemoteObjectManager ( )
protectedvirtual
virtual bool makVrf::DtVrlinkNetworkInterface::rediscoverObjects ( )
overrideprotectedvirtual

Rediscover all remote objects.

Implements DtNetworkManagerInterface.

virtual bool makVrf::DtVrlinkNetworkInterface::publishingOnLegionNetwork ( ) const
inlineoverrideprotectedvirtual

Whether or not this interface publishes on the legion network.

Implements DtNetworkManagerInterface.

virtual void makVrf::DtVrlinkNetworkInterface::stateDataManagerDeleted ( )
protectedvirtual
virtual void makVrf::DtVrlinkNetworkInterface::setExecutionState ( DtVRLExecutionStatus  status)
protectedvirtual

Member Data Documentation

DtExerciseConn* makVrf::DtVrlinkNetworkInterface::myExerciseConnection
protected
DtStateDataManager* makVrf::DtVrlinkNetworkInterface::myStateDataManager
protected
bool makVrf::DtVrlinkNetworkInterface::myEnabled
protected
bool makVrf::DtVrlinkNetworkInterface::myRunFullyThreaded
protected
PublisherContainer makVrf::DtVrlinkNetworkInterface::myNeedsPublishersCreated
protected
PublisherContainer makVrf::DtVrlinkNetworkInterface::myTickableInterfaces
protected
Publishing makVrf::DtVrlinkNetworkInterface::myPublishing
protected
ComponentsPublishing makVrf::DtVrlinkNetworkInterface::myComponentsPublishing
protected
tbb::queuing_rw_mutex makVrf::DtVrlinkNetworkInterface::myPublishingMutex
mutableprotected
tbb::spin_rw_mutex makVrf::DtVrlinkNetworkInterface::myStateDataMutex
mutableprotected
GlobalIdForNetworkInterface makVrf::DtVrlinkNetworkInterface::myGlobalIdForNetworkInterface
protected
DtRemoteObjectManager* makVrf::DtVrlinkNetworkInterface::myRemoteObjectManager
protected
StateDataByGlobalId makVrf::DtVrlinkNetworkInterface::myStateDataByGlobalId
protected
std::set<DtStateData*> makVrf::DtVrlinkNetworkInterface::myPendingGlobalIds
protected
StateDataByEntityId makVrf::DtVrlinkNetworkInterface::myStateDataByEntityId
protected
std::set<DtStateData*> makVrf::DtVrlinkNetworkInterface::myPendingEntityIds
protected
StateDataByGeoreferenceVariant makVrf::DtVrlinkNetworkInterface::myStateDataByGeoreferenceVariant
protected
ComponentCreationRules makVrf::DtVrlinkNetworkInterface::myComponentCreationRules
protected
const Coordinate_System* makVrf::DtVrlinkNetworkInterface::myCoordinateSystem
protected
DtVrfParameterDb* makVrf::DtVrlinkNetworkInterface::myParameterDatabase
protected
int makVrf::DtVrlinkNetworkInterface::myVrfSessionId
protected
int makVrf::DtVrlinkNetworkInterface::myVrfMessageVersionSupported
protected
bool makVrf::DtVrlinkNetworkInterface::myPublishZeroVelocityWhenPaused
protected
bool makVrf::DtVrlinkNetworkInterface::myIsDeadReckonAlgorithmOverridden
protected
int makVrf::DtVrlinkNetworkInterface::myDeadReckonOverrideAlgorithm
protected
bool makVrf::DtVrlinkNetworkInterface::mySetDeadReckoningAlgorithmToStaticOnPause
protected
bool makVrf::DtVrlinkNetworkInterface::myBlockOnUnfinishedRemoteDiscovery
protected
tbb::spin_mutex makVrf::DtVrlinkNetworkInterface::myEventIdMutex
protected
int makVrf::DtVrlinkNetworkInterface::myAppIdRangeMax
protected
DtVrfEntityIdentifierFactory* makVrf::DtVrlinkNetworkInterface::myEntityIdentifierFactory
protected
makVrfEvents::DtEventManager* makVrf::DtVrlinkNetworkInterface::myEventManager
protected
double makVrf::DtVrlinkNetworkInterface::myMaxDrainInputTime
protected
DtHlaExerciseClock* makVrf::DtVrlinkNetworkInterface::myExerciseClock
protected
double makVrf::DtVrlinkNetworkInterface::myMinDrainInputTime
protected
double makVrf::DtVrlinkNetworkInterface::myFrameDeltaTime
protected
DtFilename makVrf::DtVrlinkNetworkInterface::myFastForwardSettingsFile
protected

Fast forward settings file.

DtFastForwardSettings makVrf::DtVrlinkNetworkInterface::myFastForwardSettings
protected
DtDefaultSimulationModelSetValidatorManager makVrf::DtVrlinkNetworkInterface::mySimulationModelSetValidator
protected
DtVrlinkNetworkInterfaceCreatorFcn makVrf::DtVrlinkNetworkInterface::theCreator
staticprotected
DtVrlinkEventTranslatorManager* makVrf::DtVrlinkNetworkInterface::myVrlinkEventTranslatorManager
protected
std::set<DtStateComponent*> makVrf::DtVrlinkNetworkInterface::myCreateNetInterfaceFor
protected
unsigned int makVrf::DtVrlinkNetworkInterface::mySimMgmtPduProcessLevel
protected
DtCommunicationManager* makVrf::DtVrlinkNetworkInterface::myCommunicationManager
protected
std::unique_ptr<std::thread> makVrf::DtVrlinkNetworkInterface::myNetworkThread
protected

Member variables used to interact with the remote objects reading.

Condition makVrf::DtVrlinkNetworkInterface::myStartNetworkCondition
mutableprotected
ConditionMutex makVrf::DtVrlinkNetworkInterface::myStartNetworkConditionMutex
mutableprotected
std::atomic<bool> makVrf::DtVrlinkNetworkInterface::myShutdownNetworkThreadFlag
protected
DtVrfCallbackQueue* makVrf::DtVrlinkNetworkInterface::myNetworkCallbackQueue
protected
tbb::mutex makVrf::DtVrlinkNetworkInterface::myNetworkThreadMutex
protected
bool makVrf::DtVrlinkNetworkInterface::myDisableRemoteDiscovery
protected
bool makVrf::DtVrlinkNetworkInterface::myControlsDrainInput
protected
bool makVrf::DtVrlinkNetworkInterface::myTickPublishersInNetworkThread
protected
double makVrf::DtVrlinkNetworkInterface::myBulkAddTimeout = 1.0 / 2.0
protected
std::atomic<bool> makVrf::DtVrlinkNetworkInterface::myProcessingNetwork
protected
bool makVrf::DtVrlinkNetworkInterface::myReflectedListRequestUpdatesOn
protected
TimeManagementData makVrf::DtVrlinkNetworkInterface::myTimeManagementData
protected
double makVrf::DtVrlinkNetworkInterface::myNextFrameSimTime
protected
double makVrf::DtVrlinkNetworkInterface::myCurrentFrameSimTime
protected
double makVrf::DtVrlinkNetworkInterface::myLastSetSimTime
protected
std::atomic<bool> makVrf::DtVrlinkNetworkInterface::myStartNetworkThread
protected
int makVrf::DtVrlinkNetworkInterface::myDefaultObjectTimeout
protected
bool makVrf::DtVrlinkNetworkInterface::myDisableTimeoutProcessing = false
protected
DefaultNetworkInterfaceEntries makVrf::DtVrlinkNetworkInterface::myDefaultNetworkInterfaceEntries
protected
DtReflectedObjectLists makVrf::DtVrlinkNetworkInterface::myReflectedObjectLists
protected
std::vector<DtSimObjectNetInterface*> makVrf::DtVrlinkNetworkInterface::myInterfacesToDelete
protected
double makVrf::DtVrlinkNetworkInterface::myNetworkFrameTime
protected
bool makVrf::DtVrlinkNetworkInterface::mySendMessagesInNetworkProcess
protected
tbb::spin_mutex makVrf::DtVrlinkNetworkInterface::myQueuedMessagesToSendMutex
protected
std::vector<makVrfEvents::DtEvent*> makVrf::DtVrlinkNetworkInterface::myQueuedMessagesToSend
protected
int makVrf::DtVrlinkNetworkInterface::myNumNetworkWorkerThreads
protected
bool makVrf::DtVrlinkNetworkInterface::myBulkCreateInProgress
protected

Defaults to 4.

unsigned int makVrf::DtVrlinkNetworkInterface::myBulkCreateTickCounter
protected
bool makVrf::DtVrlinkNetworkInterface::myScenarioLoaded
protected
bool makVrf::DtVrlinkNetworkInterface::myLimitSizeToMtu
protected
DtVrfObjectIdGenerator* makVrf::DtVrlinkNetworkInterface::myVrfObjectIdGenerator
protected
tbb::spin_mutex makVrf::DtVrlinkNetworkInterface::myLostControlOfMutex
protected
LostControlOf makVrf::DtVrlinkNetworkInterface::myLostControlOf
protected
std::map<DtGlobalObjectDesignator, bool> makVrf::DtVrlinkNetworkInterface::myNeedsToLoseControlOf
protected
std::set<DtReflectedDIGuyObject*> makVrf::DtVrlinkNetworkInterface::myLostControlOfDIGuy
protected
std::set<makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObject*> makVrf::DtVrlinkNetworkInterface::myLostControlOfExtendedAttributes
protected
DtRemoteObjectManagerCreatorFcn makVrf::DtVrlinkNetworkInterface::theRemoteObjectManagerCreatorFcn
staticprotected
DtTimeAndDateStateRepository* makVrf::DtVrlinkNetworkInterface::myPreferredDateAndTimeRepository = nullptr
protected
bool makVrf::DtVrlinkNetworkInterface::myEnteredTimeManagedMode = false
protected
tbb::spin_rw_mutex makVrf::DtVrlinkNetworkInterface::myHostEsrMapMutex
protected

Micromanage hostEsr locking this way for embarked entities instead of a global lock.

HostEsrMap makVrf::DtVrlinkNetworkInterface::myHostEsrMap
protected
DtU32 makVrf::DtVrlinkNetworkInterface::myScenarioCapabilities
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)