![]() |
VR-Forces 5.0.3 Developer's Guide
|
class DtVrlinkNetworkInterface:
The DtVrlinkNetworkInterface will interface with the DIS/HLA network via VR-Link. Assumes fully initialized state data manager is passed in.

Classes | |
| struct | ComponentCreationRule |
| struct | ComponentRuleUserData |
| struct | ComponentTypeUserData |
| class | DefaultNetworkInterfaceEntry |
Public Types | |
| typedef boost::function< bool(const DtStateComponent *, const DtStateData *, std::shared_ptr < ComponentRuleUserData >)> | CreationRule |
Public Types inherited from DtNetworkManagerInterface | |
| enum | AddEventResult { DoNotContinue = 0, Continue = 0x00000001 } |
Static Public Member Functions | |
| static const char * | Type () |
| static void | startTimeManagement (void *usr) |
| static void | stopTimeManagement (void *usr) |
| static void | setVrlinkNetworkInterfaceCreatorFcn (DtVrlinkNetworkInterfaceCreatorFcn fcn) |
| static DtVrlinkNetworkInterface * | createVrlinkNetworkInterface (DtExerciseConn *, int clockMode=0) |
Protected Types | |
| typedef DtPublisherContainer < DtSimObjectNetInterface > | PublisherContainer |
| typedef std::map < makVrf::SimStateID, DtSimObjectNetInterface * > | Publishing |
| typedef std::map < DtStateComponent *, DtSimObjectNetInterface * > | StateComponentsPublishing |
| typedef std::map < makVrf::SimStateID, StateComponentsPublishing > | ComponentsPublishing |
| typedef std::map < DtGlobalObjectDesignator, DtSimObjectNetInterface * > | GlobalIdForNetworkInterface |
| typedef std::map< DtString, DtStateData * > | StateDataByGlobalId |
| typedef std::map< DtString, DtStateData * > | StateDataByEntityId |
| typedef std::vector < ComponentCreationRule > | ComponentCreationRules |
| typedef tbb::interface5::condition_variable | Condition |
| typedef tbb::mutex | ConditionMutex |
| typedef tbb::interface5::unique_lock < ConditionMutex > | ConditionLock |
| typedef DtOrderedEntityTypeList < DefaultNetworkInterfaceEntry * > | DefaultNetworkInterfaceEntries |
Static Protected Attributes | |
| static DtVrlinkNetworkInterfaceCreatorFcn | theCreator |
| typedef boost::function<bool (const DtStateComponent*, const DtStateData*, std::shared_ptr<ComponentRuleUserData>)> makVrf::DtVrlinkNetworkInterface::CreationRule |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| 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 |
|
overridevirtual |
Called when the frame is stated. The sim time passed in will be that from determineSimTime call.
Implements DtNetworkManagerInterface.
|
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.
|
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 |
If true (default is false), if not running network in a thread, will block in preAdvanceFrame until the remote discovery is finished.
|
inline |
|
inlinevirtual |
Type to uniquely identify this manager.
Implements DtNetworkManagerInterface.
|
inlinestatic |
|
virtual |
Called to see if this wants to print data to a stream.
Implements DtNetworkManagerInterface.
|
virtual |
No-op.
Implements DtNetworkManagerInterface.
|
virtual |
Map the radio global identifier to the host for the radio. Will look at both publishing and remote radio list for host.
|
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 |
Given the global object designator, return the state data associated with it.
Implements DtNetworkManagerInterface.
|
virtual |
|
virtual |
|
virtual |
Start day/date time of the exercise.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the current simulation time.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the current time multiplier.
Implements DtNetworkManagerInterface.
|
virtual |
Called when the simulation wants to be reset.
Implements DtNetworkManagerInterface.
|
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 |
|
inlineoverridevirtual |
Descriptive text of the network protocol.
Implements DtNetworkManagerInterface.
|
virtual |
Run in HLA time management mode. If true, back-end will act as both a time regulating and time constrained federate.
|
virtual |
|
static |
Callback functions to be executed as post-drain callbacks on the DtExerciseConnection. Calls corresponding virtual process{Start,Stop}TimeManagement() functions.
|
static |
|
virtual |
Starts/stops HLA time management. Enables/disables back-end as a time regulating and constrained federate.
|
virtual |
|
virtual |
=D?
|
virtual |
Whether or not metoc publishing should be enabled. Default is false. Set to true before starting simulation.
|
inline |
|
virtual |
Turn on/off the discovery of remote objects (default is on)
|
inline |
|
virtual |
|
inline |
|
virtual |
|
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 |
|
virtual |
Whether or not to run fully threaded.
Implements DtNetworkManagerInterface.
|
virtual |
|
virtual |
Whether or not the communication manager is enabled for receiving information.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the coordinate system used in this simulation.
Implements DtNetworkManagerInterface.
|
inline |
|
inline |
|
virtual |
Called when all objects are being deleted, will indicate that all remotes will eventually need to be rediscovered.
Implements DtNetworkManagerInterface.
|
virtual |
Returns true if the exercise connection is self reflecting.
Implements DtNetworkManagerInterface.
|
inlinevirtual |
No-op. Once the connection is created the self reflecting cannot be changed.
Implements DtNetworkManagerInterface.
|
virtual |
VRF specific for creating network interfaces from parameter data.
Implements DtNetworkManagerInterface.
|
inline |
|
virtual |
If the network interface supports it, the maximum name of a marking text.
Implements DtNetworkManagerInterface.
|
virtual |
If used, the session id this VRF session is in.
Implements DtNetworkManagerInterface.
|
inlinevirtual |
|
virtual |
If used the message version this VRF session uses.
Implements DtNetworkManagerInterface.
|
inlinevirtual |
|
virtual |
Sets whether or not to publish zero velocity (and acceleration) when paused. Default is true.
|
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.
|
virtual |
|
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.
|
inline |
|
virtual |
Overrides the dead reckoning algorithm of all objects.
|
virtual |
Returns true if dead reckoning algorithm override is enabled and fills in drAlg with the overridden value.
|
virtual |
Removes the dead reckoning algorithm override and returns all objects to their default DR algorithms.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
The site and app id of this back-end.
Implements DtNetworkManagerInterface.
|
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 |
|
virtual |
Called when starting scenario load. True is passed in to reuse identifiers if network dependent.
Implements DtNetworkManagerInterface.
|
virtual |
Called when ending scenario load. True is passed in to reuse identifiers if network dependent.
Implements DtNetworkManagerInterface.
|
virtual |
Send this event on the network.
Implements DtNetworkManagerInterface.
|
virtual |
Sends event on network without adding to event manager if immediately self reflected.
Implements DtNetworkManagerInterface.
|
overridevirtual |
Determine the next simulation time. Implement only if hasSimulationTime returns true.
Reimplemented from DtNetworkManagerInterface.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Sets the mode for the exercise clock.
Implements DtNetworkManagerInterface.
|
virtual |
Called when the scenario is rewound.
Implements DtNetworkManagerInterface.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
overridevirtual |
Signaling the start/end of bulk object creation.
Reimplemented from DtNetworkManagerInterface.
|
overridevirtual |
Reimplemented from DtNetworkManagerInterface.
|
virtual |
Adds a new event translator into the system.
|
virtual |
Removes an event translator from the system.
|
virtual |
|
virtual |
Puts the simulation into run mode by letting the network connections know.
Implements DtNetworkManagerInterface.
|
virtual |
Puts the simulation into pause mode by letting the network connections know.
Implements DtNetworkManagerInterface.
|
static |
|
static |
|
inlinevirtual |
Returns true if the entity type is publishable by this connection.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the event manager to use process messages received from the network.
Implements DtNetworkManagerInterface.
|
inline |
|
inline |
|
inline |
|
virtual |
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 |
Sets the number of threads to use only in the remote object manager.
|
virtual |
|
virtual |
|
virtual |
Given the state data, return the default interface type for what is registered.
|
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 |
|
virtual |
Turn on/off parallel ticking of publishers. Default is on.
|
virtual |
|
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 |
|
virtual |
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 |
Returns true if this interface will rediscover objects when rediscoverObjects is called.
|
virtual |
Call this to set the reflects lists into the remote object manager. If the remote object manager exists will call re-initialize.
|
inlinevirtual |
Time spent in the network frame.
|
virtual |
|
inline |
|
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.
|
protectedvirtual |
|
protectedvirtual |
Called when added to the network interface manager. Do not call directly.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Creates the remote object manager. Called from init.
|
protectedvirtual |
Reserves the specified number of global object Ids. Only currently works in HLA Evolved.
|
protectedvirtual |
|
protectedvirtual |
Creates the new network interface.
|
protectedvirtual |
Removes the new network interface.
|
protectedvirtual |
If any connection returns false do not run.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
Return true if this network interface also deals with simulation time.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
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.
|
protectedvirtual |
|
protectedvirtual |
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.
|
protectedvirtual |
Called when the object is preparing for VRF handoff, destroy/recreate the interface.
|
protectedvirtual |
Called when state data is about to be removed.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Print non locally simulated object count to the screen.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
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.
|
protected |
Called from constructor to create exercise clock.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in makVrf::VRF_PROTOCOL_NAMESPACE::DtVrfGuiVrlinkNetworkInterface.
|
protectedvirtual |
|
protectedvirtual |
Rediscover all remote objects.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
Whether or not this interface publishes on the legion network.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Fast forward settings file.
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
Member variables used to interact with the remote objects reading.
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Defaults to 4.
|
protected |