VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
10.5 - Initializating Connections

VR-Link C# is a protocol agile library.

It allows for the protocol specific strategies to be loaded at runtime based on what the user asked for. Since many strategies may rely upon one another for shared resources, a connection initialization procedure is needed.

In an unconnected state, VR-Link C# only has four strategies loaded. These are the protocol-specific initialization strategies. When a connection message is received, the appropriate initialization strategy handles creating the remaining protocol specific strategies that are responsible for handling objects and interactions. Customer created strategies need to register themselves with the appropriate initialization strategy during plug-in loading so they can be executed when a connection is made.

Since the order of initialization is important for dependent strategies, a simple multi-pass initialization step is used to initialize all created strategies during a connection. A number of initialization passes are done to ensure that all strategies are able to create and find any shared resources or other strategies. During each pass, if a strategy is unable to fully initialize due to a missing resource, it will attempt to initialize in the next pass. This process is repeated until all strategies are initialized or until a deadlock is detected. This initialization step fails if there is a circular dependency.

[<< Loading Plug-ins] [Home] [Top of Page] [ManagedInterface Concepts >>]


Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)