![]() |
VR-Forces 5.0.1 Developer's Guide
|
class DtLegionNetworkInterface:
The DtLegionNetworkInterface will interface with the legion network. Assumes fully initialize state data manager is passed int

Static Public Member Functions | |
| static const char * | Type () |
| static void | setLegionNetworkInterfaceCreatorFcn (DtLegionNetworkInterfaceCreatorFcn) |
| static DtLegionNetworkInterface * | createLegionNetworkInterface (DtStateDataManager *, Legion::Connection *connection=0, Legion::Configuration *config=0) |
Protected Types | |
| typedef boost::unordered_map < UInt64, const DtStateData * > | StateDataByEntityId |
Protected Attributes | |
| DtStateDataManager * | myStateDataManager |
| Legion::Connection * | mySTEConnection |
| std::set< makVrf::SimStateID > | myPublishing |
| tbb::spin_rw_mutex | myPublishMutex |
| StateDataByEntityId | myStateDataByEntityId |
| bool | myNeedsInterestSet |
| DtSimulationAddress | mySimulationAddress |
| int | myAppId |
| int | myEntityId |
| makVrfEvents::DtEventManager * | myEventManager |
| const Coordinate_System * | myCoordinateSystem |
| DtLegionEventTranslatorManager * | myLegionEventTranslatorManager |
| bool | myOwnsLegionConnection |
| Legion::EventManager * | myLegionEventManager |
| Legion::ControlManager * | myLegionControlManager |
| bool | myProcessSelfReflect |
| DtCommunicationManager * | myCommunicationManager |
| DtRemoteObjectManager * | myRemoteObjectManager |
| bool | myDisableRemoteDiscovery |
| bool | myProcessRemoteObjectsInParallel |
| unsigned int | myNumCallbackThreads |
| DtLegionOwnershipTransferManager * | myOwnershipTransferManager |
| bool | myDestructing |
Static Protected Attributes | |
| static DtLegionNetworkInterfaceCreatorFcn | theCreatorFunction |
Additional Inherited Members | |
Public Types inherited from DtNetworkManagerInterface | |
| enum | AddEventResult { DoNotContinue = 0, Continue = 0x00000001 } |
|
protected |
| makVrf::DtLegionNetworkInterface::DtLegionNetworkInterface | ( | DtStateDataManager * | , |
| Legion::Connection * | useConnection = 0, |
||
| Legion::Configuration * | config = 0 |
||
| ) |
constructor
|
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.
|
inlinevirtual |
Type to uniquely identify this manager.
Implements DtNetworkManagerInterface.
|
inlinestatic |
|
virtual |
|
virtual |
In case the interface wants to do interest management, the interest of this back-end.
Implements DtNetworkManagerInterface.
|
virtual |
|
virtual |
|
virtual |
Returns true if any of the connections are self reflecting.
Implements DtNetworkManagerInterface.
|
virtual |
Sets all connections (if supported) to self reflecting. This will only apply to current handlers, not ones that are added after this is called.
Implements DtNetworkManagerInterface.
|
virtual |
Given the SimStateID, print data to the stream. Return try if the given data is published by this network interface.
Implements DtNetworkManagerInterface.
|
virtual |
Given the entity identifier, return the state data associated with it.
|
virtual |
Given the legion global id, return the state data associated with it.
|
inlinevirtual |
Whether or not to run fully threaded. Legion is always threaded.
Implements DtNetworkManagerInterface.
|
inlinevirtual |
Whether or not the communication manager is enabled for receiving information.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the coordinate system used in this simulation.
Implements DtNetworkManagerInterface.
|
virtual |
Start day/date time of the exercise.
Implements DtNetworkManagerInterface.
|
inlinevirtual |
Return false if this scenario is not valid.
Implements DtNetworkManagerInterface.
The site and app id of this back-end.
Implements DtNetworkManagerInterface.
|
virtual |
Called when all objects are being deleted, will indiciate that all remotes will eventually need to be rediscovered.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the current simulation time.
Implements DtNetworkManagerInterface.
|
virtual |
Sets the current time multiplier.
Implements DtNetworkManagerInterface.
|
virtual |
|
virtual |
|
inlineoverridevirtual |
Descriptive text of the network protocol.
Implements DtNetworkManagerInterface.
|
virtual |
|
inline |
|
virtual |
|
static |
|
static |
|
virtual |
Sets the event manager to use process messages received from the netowkr.
Implements DtNetworkManagerInterface.
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Returns true if the entity type is publishable by this connection.
Implements DtNetworkManagerInterface.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
These routines make an identifier out of the entity id, this is not a legion global id.
|
virtual |
|
virtual |
Given the global object designator, return the state data associated with it.
Implements DtNetworkManagerInterface.
|
virtual |
Set to disable the discovery of remote objects.
|
inline |
|
virtual |
Default is false.
|
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.
Implements DtNetworkManagerInterface.
|
inline |
The transfer manager. Valid after init. Get this to connect for pre transfer from message.
|
inline |
The communication manager.
|
inline |
|
inline |
|
inlinevirtual |
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 |
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 state data is about to be removed.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Called when added to the network interface manager. Return false to not add to manager.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
No-Op.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Print non locally simulated object count to the screen.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
No-Op.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
No-Ope.
|
inlineprotectedvirtual |
If the network interface supports it, the maximum name of a marking text.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Called when starting scenario load. True is passed in to reuse identifiers if network dependent.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
Called when ending scenario load. True is passed in to reuse identifiers if network dependent.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
VRF specific for creating network interfaces from parameter data.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
If used, the session id this VRF session is in.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
If used the message version this VRF session uses.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Called when the simulation is ending and wants to reset.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Called when the scenario is rewound.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Puts the simulation into run mode by letting the network connections know.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Puts the simulation into pause mode by letting the network connections know.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Sets the mode for the exercise clock.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Send this event on the network.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Sends event on network without adding to event manager if immediately self reflected.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
This manager does not deal with sim time.
Implements DtNetworkManagerInterface.
|
protectedvirtual |
Rediscover all remote objects.
Implements DtNetworkManagerInterface.
|
inlineprotectedvirtual |
Whether or not this interface publishes on the legion network.
Implements DtNetworkManagerInterface.
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |