Main Page | Class Hierarchy | Class List | Directories | File List | Class Members

ReplicaNet Index Page

1

Introduction

RNReplicaNet::ReplicaNet is a management class that enables different RNReplicaNet::ReplicaObject derived C++ classes to be created, destroyed and updated across a network of computers without having to worry about specific network programing knowledge.
To enable integration between the ReplicaNet system and the user classes a tool is used to create extra class definitions to be used in the project.
ReplicaNet uses an XPSession as the base network layer and expands upon it.

Using ReplicaNet

Include files are in the Includes directory. Use "RNReplicaNet/Inc/ReplicaNet.h" to access all of the C++ interface to the RNReplicaNet::ReplicaNet class.
RNReplicaNet::ReplicaNet is primarily a multi-threaded library as the session framework uses threads to reduce CPU load. Single-threading is supported by means of using a RNReplicaNet::ReplicaNet::Poll() call to ensure data is processed regularly.
To allow ReplicaNet to include debugging information, that can be used with the ReplicaNet Visual Debugger, use the preprocessor to define REPLICANET_VISUALDEBUGGER , however please note including this define adds extra debugging information as plain text that may not be wanted in final publicly released versions of applications.

Using ReplicaNet

Libraries for static linking are called:
RNReplicaNetDM and RNReplicaNetRM for debug and release multi-thread applications.
RNReplicaNetDS and RNReplicaNetRS for debug and release single-thread applications.
RNReplicaNetDMDLL and RNReplicaNetRMDLL for debug and release multi-thread DLL applications such as MFC types of project.

The following library files can be used to force the module to use DLL files to link at runtime.
DLLRNReplicaNetDM and DLLRNReplicaNetRM for debug and release multi-thread applications.
DLLRNReplicaNetDS and DLLRNReplicaNetRS for debug and release single-thread applications.
DLLRNReplicaNetDMDLL and DLLRNReplicaNetRMDLL for debug and release multi-thread DLL applications such as MFC types of project.

The libraries that start with "DLL" will force the library DLL to be loaded at run time. When using the DLL libraries you must define DOREPNETEXPORTAPI in the preprocessor. This ensures importing of the correct dll functions. It also automatically does #include "RNPlatform/Inc/MemoryTracking.h" The memory tracking header is needed to ensure that the dll calling method accounts for memory properly. The automatic inclusion of the header during DLL builds can be turned off by defining REPLICANET_NOAUTOMATICINCLUDEMEMORYTRACKING For non-dll builds the memory tracking header is not included. Specifically for ReplicaNet and DLL builds, "REPLICANET_DLLPREREGISTER()" must used called before the ReplicaNet class is allocated. Calling this is guaranteed to not cause any memory allocation. This ties the object classes to the DLL. "REPLICANET_DLLPREREGISTER()" can also be called in a non-DLL build without any adverse side effects.
The memory tracking header ("RNPlatform/Inc/MemoryTracking.h") can be auto included by defining REPLICANET_ALWAYSDOMEMORYTRACKING for non-dll based builds.
Generated on Sun Oct 30 01:11:54 2005 for ReplicaNet by  doxygen 1.4.1